Get-ADGroupMember获取select-object中的用户域

我搜遍了,我认为这将是相当普遍的,但也许不是。

我想通过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 }