Get-ADGroupMember Получить домен пользователя в select-object

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

в зависимости от домена пользователя (обратите внимание, порядок имен не имеет значения).

решение1

Хорошо, после того, как я погуглил еще и поигрался с этим некоторое время, я пришел к следующему, который дает мне то, что мне нужно. Я не уверен, что это лучший способ получить это, но мне это кажется чистым

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

решение2

У меня нет многодоменной среды для тестирования, но я думаю, что это сделает то, что вам нужно.

Get-ADGroupMember -Identity 'MyGroup' | foreach {
$ADuser = Get-ADUser -Identity $_.sAMAccountName -Properties UserPrincipalName
$Domain = $ADuser.UserPrincipalName.Split('@.')[1]
$Name = $Domain + '\' + $ADuser.Name
$Name
}

Связанный контент