
Mi organización quiere cambiar el formato del nombre para mostrar a Firstname Lastname
en lugar deLastname, Firstname
Ya cambio el formato para crear nuevos usuarios en la configuración de ADSI. Pero quiero cambiar el nombre para mostrar de todos los usuarios actuales aFirstname Lastname
Encontré un script en:Formato de nombre completo predeterminado en Active Directory
Get-ADUser -LDAPFilter "(&(objectCategory=person)(!displayName=*,*)(displayName=*))" |
ForEach-Object {
Set-ADUser $_ -DisplayName "$($_.Surname), $($_.givenName)"
}
Esto lo cambia de Firstname Lastname
a Lastname, Firstname
. Quiero hacer lo contrario, así que modifico este script para:
Get-ADUser -LDAPFilter "(&(objectCategory=person)(!displayName=*,*)(displayName=*))" |
ForEach-Object {
Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}
Pero mis usuarios de AD todavía tienen un nombre para mostrar como Lastname, Firstname
. PD: no da ninguna advertencia ni error y actualizó AD.
¿Alguien conoce algún truco para cambiar a todos los usuarios de AD Firstname Lastname
como nombre para mostrar?
Respuesta1
El problema es el filtro. La cadena (!displayName=*,*)
indica que sólo el usuario que actualmentenotienen un ,
nombre en pantalla que debe cambiarse. Quieres lo inverso, por lo que debes eliminar el archivo !
.
Get-ADUser -LDAPFilter "(&(objectCategory=person)(displayName=*,*))" |
ForEach-Object {
Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}