Изменить отображаемое имя AD с Фамилия, Имя на Имя Фамилия

Изменить отображаемое имя AD с Фамилия, Имя на Имя Фамилия

Моя организация хочет изменить формат отображаемого имени Firstname LastnameнаLastname, Firstname

Я уже изменил формат создания новых пользователей в настройках ADSI. Но хочу изменить отображаемое имя всех текущих пользователей наFirstname Lastname

Я нашел сценарий в:Формат полного имени по умолчанию в Active Directory

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

Это меняет его с Firstname Lastnameна Lastname, Firstname. Я хочу сделать обратное, поэтому я настраиваю этот скрипт так:

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

Но у моих пользователей AD по-прежнему отображается имя типа Lastname, Firstname. P.S. никаких предупреждений или ошибок не выдает, обновил AD.

Кто-нибудь знает, как изменить имя всех пользователей AD на Firstname LastnameDisplayname?

решение1

Проблема в фильтре. Строка (!displayName=*,*)указывает, что только пользователь, который в данный моментнеимеют ,в своем displayname должны быть изменены. Вы хотите обратное, поэтому вам нужно удалить !.

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

Связанный контент