PowerShell Newb - 无法转换

时间:2013-07-03 19:25:41

标签: powershell

我正在学习Powershell,我正在努力理解为什么这不起作用。我验证了-Identity接受管道,所以我猜测它传递的值的类型,但我不明白为什么这不起作用

Get-ADUser -Identity(Import-Csv。\ GROUP.csv)

GROUP.csv是我桌面上的一个文件,其中包含一个SID列表。只需执行Import-Csv。\ GROUP.csv,我就可以毫无问题地阅读它。结果如下

S-1-5-21-583907252-1979792683-725345543-112088

S-1-5-21-583907252-1979792683-725345543-48881
S-1-5-21-583907252-1979792683-725345543-48880
S-1-5-21-583907252-1979792683-725345543-53776
S-1-5-21-583907252-1979792683-725345543-125569
S-1-5-21-583907252-1979792683-725345543-120374
S-1-5-21-583907252-1979792683-725345543-48882
S-1-5-21-583907252-1979792683-725345543-183175
S-1-5-21-583907252-1979792683-725345543-183136
S-1-5-21-583907252-1979792683-725345543-183130
S-1-5-21-583907252-1979792683-725345543-183112
S-1-5-21-583907252-1979792683-725345543-176034
S-1-5-21-583907252-1979792683-725345543-176023
S-1-5-21-583907252-1979792683-725345543-176022
S-1-5-21-583907252-1979792683-725345543-176002
S-1-5-21-583907252-1979792683-725345543-175974
S-1-5-21-583907252-1979792683-725345543-175931
S-1-5-21-583907252-1979792683-725345543-175889
S-1-5-21-583907252-1979792683-725345543-175836
S-1-5-21-583907252-1979792683-725345543-175804
S-1-5-21-583907252-1979792683-725345543-183195
S-1-5-21-583907252-1979792683-725345543-183180
S-1-5-21-583907252-1979792683-725345543-31219
S-1-5-21-583907252-1979792683-725345543-176037
S-1-5-21-583907252-1979792683-725345543-82576
S-1-5-21-583907252-1979792683-725345543-175905
S-1-5-21-583907252-1979792683-725345543-175777
S-1-5-21-583907252-1979792683-725345543-175765

最重要的是,我可以使用Get-ADUser -Identity并且工作正常。

为什么在尝试将一个管道连接到另一个时,我会得到以下结果?

无法将'System.Object []'转换为参数'Identity'所需的类型'Microsoft.ActiveDirectory.Management.ADUser'。 不支持指定的方法。 在行:1 char:22 + Get-ADUser -Identity(Get-Content。\ group.txt) + ~~~~~~~~~~~~~~~~~~~~~~~~~     + CategoryInfo:InvalidArgument:(:) [Get-ADUser],ParameterBindingException     + FullyQualifiedErrorId:CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.GetADUser

2 个答案:

答案 0 :(得分:1)

-identity参数不接受array作为输入,但接受pipeline value输入的次数比您可以做的那样:

Import-Csv .\GROUP.csv | Get-ADUser

答案 1 :(得分:1)

如果.csv文件中第一列的名称是 sid ,那么您也可以尝试此选项

 (Import-CSV .\Group.csv) | foreach-object { get-aduser -Identity $_.sid }