Pregunta

Tengo un script PS3 de la siguiente manera:

Get-ADGroupMember -identity "AD Group Name" | select name | sort name

lo que me da una lista de los nombres de las personas en ese grupo, con cada uno que ocupa una nueva línea.

¿Puede alguien decirme cómo formatear la salida para que los nombres sean así:

First Last1, First Last2, First Last3...

Gracias por cualquier ayuda.

¿Fue útil?

Solución

En la base de su línea de comando, aquí hay algo:

Get-ADGroupMember -identity "AD Group Name" | select name | sort name | %  {$result=""}{$result+="$($_.name),"}{$result.Substring(0,$result.Length-1)}

%: es el alias de foreach.

{}{}{}: es la sintaxis para bloques de intitialización, bloque de bucle y bloque de terminación.

En el bloque de terminación, elimino el último ','.

Aquí hay una manera, donde estoy seguro de usar el primer nombre (atributo indicho) y el apellido (atributo SN).

Get-ADGroupMember -identity "AD Group Name" | Get-ADUser -Properties sn,givenName | % {$result=""}{$result+="$($_.givenName) $($_.sn),"}{$result.Substring(0,$result.Length-1)}

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top