【发布时间】:2016-01-29 17:17:14
【问题描述】:
我正在尝试使用 PowerShell 为用户列表获取一堆 Active Directory 属性。我将用户列表导入一个变量,然后使用 ForEach 循环遍历每个用户。到目前为止,脚本如下所示:
$Users=Get-Content "C:\Project\NewUSers\FirstBatch.txt"
$UserInfo = foreach($User in $Users)
{
Get-ADUser $User -properties DisplayName,PasswordLastSet,whencreated | Select-Object -ExpandProperty DisplayName,PasswordLastSet,WhenCreated
}
$UserInfo
但是,当我运行脚本时,我收到以下错误消息:
Select-Object:无法将“System.Object[]”转换为参数“ExpandProperty”所需的类型“System.String”。不支持指定的方法。 在行:4 字符:104 + ... ExpandProperty DisplayName,PasswordLastSet + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Select-Object], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Commands.SelectObjectCommand
当我只检索信号属性时,脚本会运行。因此,如果我将代码更改为此,它将起作用并为我提供这些属性的值:
Get-ADUser $User -properties DisplayName,PasswordLastSet,whencreated | Select-Object -ExpandProperty PasswordLastSet
谁能指出问题出在哪里?任何其他建议也将受到欢迎。非常感谢!
【问题讨论】:
标签: powershell attributes