在几个不同的域中工作,这些域具有不同的命名架构。所以我写了一个进入每个域的脚本,并检查他们的组成员身份。
脚本首先要做的是询问用户的姓氏。然后我使用Get-ADUser
选择samaccountname
并将其绑定到变量(samaccountname
是Get-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
我得到的错误显示该变量是一个字符串,并且它是正在搜索的正确用户,但错误显示它无法找到该用户。
答案 0 :(得分:2)
Format-*
cmdlet用于向用户显示数据。在需要/预期进一步处理数据时,请勿使用它们。
更改
... | select samaccountname | Format-Table -HideTableHeaders | Out-String
到
... | select -Expand samaccountname -First 1
你的问题就会消失。