Powershell Get-ADGroup:无法绑定参数'Identity'

时间:2014-01-15 16:39:37

标签: powershell

我正在尝试逐行读取文本文件到get-adgroup cmdlet,以获取哪些用户是txt文件中组成员的列表

Clear-Host;
$groups = "./desktop/groups.txt"
$arrayofgroups = Get-Content $groups 

foreach ($item in $arrayofgroups) {
    Get-ADGroup $item -properties * | select samaccountname, members
}

文本文件如下所示:

"group 1"
"group 2"

以下代码返回:

  

Get-ADGroup:无法将参数'Identity'绑定到目标。异常设置“Identity”:“无法验证参数的参数:'Identity'。参数为null或空。提供不是的参数    null或empty然后再次尝试命令。“   在行:6 char:15   + {get-adgroup<<<< $ item -properties * |选择samaccountname,members}       + CategoryInfo:WriteError:(:) [Get-ADGroup],ParameterBindingException       + FullyQualifiedErrorId:ParameterBindingFailed,Microsoft.ActiveDirectory.Management.Commands.GetADGroup

然而,当我遍历数组时,它返回组名ok

Clear-Host;
$groups = "./desktop/groups.txt"
$arrayofgroups = Get-Content $groups 

foreach ($item in $arrayofgroups ) {
    $item
}

我已经证实,如果你只是运行以下它就可以了。

get-adgroup "group 1" -properties * | select samaccountname, members

我是VBscript的PowerShell新手,不知道为什么这不起作用,有什么想法?

1 个答案:

答案 0 :(得分:2)

Get-ADGroup循环内的包含foreach命令的行上设置PSBreakpoint。在调试器中,键入$Item以检查$Item变量的值。也可以尝试输入$Item.Length来查看它的确切长度。确保源文本文件中没有任何额外的,不必要的空格。