He buscado por todas partes y creo que esto sería bastante común, pero tal vez no.
Quiero enumerar el dominio de un usuario con el nombre de usuario a través de Get-ADGroupMember. Entonces, por ejemplo, tengo esto:
Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object SamAccountName
que enumera
SamAccountName
--------------
jsmith
dsmith
lsmith
Quiero que esa lista devuelva el dominio principal de los usuarios, así que, por ejemplo, tengo los dominios
prod.my.domain.net
dev.my.domain.net
my.domain.net
quiero una consulta que regrese
prod\jsmith
dev\dsmith
my\lsmith
dependiendo del dominio de los usuarios (tenga en cuenta que el orden de los nombres no importa).
Respuesta1
Ok, después de buscar más en Google y jugar con esto por un tiempo, se me ocurrió lo siguiente que obtiene lo que necesito. No estoy seguro de si esta es la mejor manera de conseguirlo, pero me parece claro.
Get-ADGroupMember -identity "MyGroup" -Recursive -Server "my.domain.net" | select-object @{name="Login"; expression={(($_.DistinguishedName -split '(DC=)')[2] -replace ',')+"\"+$_.SamAccountName}}
lo que da
Login
-----
prod\jsmith
dev\dsmith
my\lsmith
Respuesta2
No tengo un entorno multidominio para realizar pruebas, pero creo que esto hará lo que quieras.
Get-ADGroupMember -Identity 'MyGroup' | foreach {
$ADuser = Get-ADUser -Identity $_.sAMAccountName -Properties UserPrincipalName
$Domain = $ADuser.UserPrincipalName.Split('@.')[1]
$Name = $Domain + '\' + $ADuser.Name
$Name
}