AD 表示名を Lastname、Firstname から Firstname Lastname に変更します

AD 表示名を Lastname、Firstname から Firstname Lastname に変更します

私の組織では、表示名の形式を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。PS は警告やエラーを表示せず、AD で更新を実行しました。

Firstname Lastnameすべての AD ユーザーをDisplaynameに変更する方法を知っている人はいますか?

答え1

問題はフィルターです。文字列は(!displayName=*,*)、現在しない表示名に が含まれている場合,は、 を変更する必要があります。 逆のことをしたいので、 を削除する必要があります!

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

関連情報