我搜遍了,我认为这将是相当普遍的,但也许不是。
我想通过Get-ADGroupMember使用用户名列出用户的域。 所以比如我有这个:
Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object SamAccountName
哪个列表
SamAccountName -------------- jsmith dsmith lsmith
我想这个列表返回用户的主要域名,所以例如我有域名
prod.my.domain.net dev.my.domain.net my.domain.net
我想要一个将返回的查询
prod\jsmith dev\dsmith my\lsmith
取决于用户域(注意名称顺序无关紧要)。
好吧,Googlesearch了一段时间之后,我想出了以下这些内容。 我不确定这是否是最好的方法,但是对我来说似乎很干净
Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object @{name="Login"; expression={(($_.DistinguishedName -split '(DC=)')[2] -replace ',')+"\"+$_.SamAccountName}}
这使
Login ----- prod\jsmith dev\dsmith my\lsmith
我没有多域环境testing,但我相信这将做你想要的。
Get-ADGroupMember -Identity 'MyGroup' | foreach { $ADuser = Get-ADUser -Identity $_.sAMAccountName -Properties UserPrincipalName $Domain = $ADuser.UserPrincipalName.Split('@.')[1] $Name = $Domain + '\' + $ADuser.Name $Name }