Get-ADGroupMember Obtenha o domínio do usuário no objeto selecionado

Get-ADGroupMember Obtenha o domínio do usuário no objeto selecionado

Pesquisei por toda parte e acho que isso seria bastante comum, mas talvez não.

Quero listar o domínio de um usuário com o nome de usuário via Get-ADGroupMember. Então, por exemplo, eu tenho isso:

Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object SamAccountName

quais listas

SamAccountName
--------------
jsmith
dsmith
lsmith

Quero que essa lista retorne o domínio primário dos usuários, por exemplo, tenho os domínios

prod.my.domain.net
dev.my.domain.net
my.domain.net

Quero uma consulta que retorne

prod\jsmith
dev\dsmith
my\lsmith

dependendo do domínio dos usuários (observe que a ordem dos nomes não importa).

Responder1

Ok, depois de pesquisar mais no Google e brincar com isso por um tempo, descobri o seguinte, que atende ao que preciso. Não tenho certeza se esta é a melhor maneira de obtê-lo, mas parece claro para mim

Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object @{name="Login"; expression={(($_.DistinguishedName  -split '(DC=)')[2] -replace ',')+"\"+$_.SamAccountName}}

que dá

Login
-----
prod\jsmith
dev\dsmith
my\lsmith

Responder2

Não tenho um ambiente multidomínio para testar, mas acredito que isso fará o que você deseja.

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

informação relacionada