在几个不同的域中工作,这些域具有不同的命名模式。因此,我正在编写一个进入每个域的脚本,并检查它们的组成员身份。
该脚本所做的第一件事是询问用户的姓氏。然后我用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
我收到的错误表明该变量是一个字符串,并且它正在搜索正确的用户,但错误表明它找不到该用户。
Format-*
cmdlet 是为了向用户显示数据而创建的。当需要/打算进一步处理数据时,请勿使用它们。
Change
... | select samaccountname | Format-Table -HideTableHeaders | Out-String
to
... | select -Expand samaccountname -First 1
你的问题就会消失。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)