Alterar o nome de exibição do AD de Sobrenome, Nome para Nome Sobrenome

Alterar o nome de exibição do AD de Sobrenome, Nome para Nome Sobrenome

Minha organização deseja alterar o formato do nome de exibição para Firstname Lastnameem vez deLastname, Firstname

Já alterei o formato de criação de novos usuários nas configurações ADSI. Mas deseja alterar o nome de exibição de todos os usuários atuais paraFirstname Lastname

Encontrei um script em:Formato de nome completo padrão no Active Directory

Get-ADUser -LDAPFilter "(&(objectCategory=person)(!displayName=*,*)(displayName=*))" |
ForEach-Object {  
    Set-ADUser $_ -DisplayName "$($_.Surname), $($_.givenName)"
}

Isso muda de Firstname Lastnamepara Lastname, Firstname. Quero fazer o inverso, então ajustei esse script para:

Get-ADUser -LDAPFilter "(&(objectCategory=person)(!displayName=*,*)(displayName=*))" |
ForEach-Object {  
    Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}

Mas meus usuários do AD ainda têm um nome de exibição como Lastname, Firstname. PS não dá nenhum aviso ou erro e fez uma atualização no AD.

Alguém conhece um truque para alterar todos os usuários do AD Firstname Lastnamecomo Displayname?

Responder1

O problema é o filtro. A string (!displayName=*,*)indica que apenas o usuário que atualmentenãotêm um ,em seu nome de exibição devem ser alterados. Você quer o inverso, então precisa remover o !.

Get-ADUser -LDAPFilter "(&(objectCategory=person)(displayName=*,*))" |
ForEach-Object {  
    Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}

informação relacionada