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
}