首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell向CSV添加域控制器名称

Powershell向CSV添加域控制器名称
EN

Stack Overflow用户
提问于 2015-10-13 21:43:25
回答 1查看 95关注 0票数 1

我的CSV有个小错误。我只是想让我的CSV删除为用户列出的属性,并在最后一列中说明它从中提取数据的特定DC:

代码语言:javascript
复制
$Path = Get-ScriptDirectory
$Date = (Get-Date).ToString('yyyy-MM-dd')
$Domain = Get-ADDomain | select -ExpandProperty ParentDomain
$DomainName = Get-ADDomain | select -ExpandProperty NetBIOSName
$Filename = "$Path\$DomainName" + "_Users_By_Last_DC_" + $Date + ".csv"
$DClist = Get-ADDomainController -Filter * | select name
$Statement = ForEach ($DomainController in $DClist){
Get-ADUser -Filter * -Properties SamAccountName, DisplayName, LastLogonDate, LogonCount, Enabled, PasswordExpired, PasswordLastSet, PasswordNeverExpires, PasswordNotRequired, CannotChangePassword, AccountExpirationDate, AccountExpires, WhenCreated, canonicalName -Server $DomainController.Name | select SamAccountName, DisplayName, LastLogonDate, LogonCount, Enabled, PasswordExpired, PasswordLastSet, PasswordNeverExpires, PasswordNotRequired, CannotChangePassword, AccountExpirationDate, AccountExpires, WhenCreated, canonicalName, @{Name="Domain Controller";Expression=$DomainController.name} | sort $DomainController.name, samAccountName, LastLogonDate}

$Statement | Export-Csv $FileName -NoTypeInformation

我得到了以下“域控制器”:Microsoft.ActiveDirectory.Management.ADPropertyValueCollection

我觉得添加一个-expandproperty name是合适的,但我似乎不知道它将走向何方。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 21:55:22

计算属性中的Expression项的值必须是ScriptBlock。更改:

代码语言:javascript
复制
@{Name="Domain Controller";Expression=$DomainController.name}

代码语言:javascript
复制
@{Name="Domain Controller";Expression={$DomainController.Name}}

将属性列表放在数组中也可以帮助您更好地读取和维护脚本:

代码语言:javascript
复制
$Properties = @(
    'SamAccountName', 
    'DisplayName', 
    'LastLogonDate', 
    'LogonCount', 
    'Enabled', 
    'PasswordExpired', 
    'PasswordLastSet', 
    'PasswordNeverExpires', 
    'PasswordNotRequired', 
    'CannotChangePassword', 
    'AccountExpirationDate', 
    'AccountExpires', 
    'WhenCreated', 
    'canonicalName' 
)
$DCName = $DomainController.Name

$Select = $Properties + @{Name="DomainController";Expression={$DCName}}
Get-ADUser -Filter * -Properties $Properties -Server $DCName| Select $Select | sort DomainController,SamAccountName,LastLogonDate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33113159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档