我正在学习Powershell,我正在努力理解为什么这不起作用。我验证了-Identity接受管道,所以我猜测它传递的值的类型,但我不明白为什么这不起作用
Get-ADUser -Identity(Import-Csv。\ GROUP.csv)
GROUP.csv是我桌面上的一个文件,其中包含一个SID列表。只需执行Import-Csv。\ GROUP.csv,我就可以毫无问题地阅读它。结果如下
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
答案 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 }