Get-ADPrincipalGroupMembership -Identity不接受变量

时间:2016-05-18 15:58:34

标签: powershell active-directory

在几个不同的域中工作,这些域具有不同的命名架构。所以我写了一个进入每个域的脚本,并检查他们的组成员身份。

脚本首先要做的是询问用户的姓氏。然后我使用Get-ADUser选择samaccountname并将其绑定到变量(samaccountnameGet-ADPrincipalGroupMembership -Identity参数接受的唯一名称。

但是当我使用-Identity变量运行脚本时,它找不到用户。如果我手动输入它 - 它确实找到了用户。

以下是代码:

$surname = Read-Host "Users Last Name" 

$fullname = Get-ADUser -filter * | Where-Object {$_.surname -eq $surname} |
            select samaccountname | Format-Table -HideTableHeaders | Out-String
Get-ADPrincipalGroupMembership -Identity $fullname | select name |
  Format-Table -HideTableHeaders

我得到的错误显示该变量是一个字符串,并且它是正在搜索的正确用户,但错误显示它无法找到该用户。

1 个答案:

答案 0 :(得分:2)

Format-* cmdlet用于向用户显示数据。在需要/预期进一步处理数据时,请勿使用它们。

更改

... | select samaccountname | Format-Table -HideTableHeaders | Out-String

... | select -Expand samaccountname -First 1

你的问题就会消失。