Active-Directory

將 AD 顯示名稱從姓氏、名字更改為名字姓氏

  • February 2, 2022

我的組織想要將顯示名稱格式更改Firstname LastnameLastname, Firstname

我已經在 ADSI 設置中更改了創建新使用者的格式。但是想將所有目前使用者的顯示名稱更改為Firstname Lastname

我在以下位置找到了一個腳本:Active Directory 中的預設全名格式

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

這將其從 更改Firstname LastnameLastname, Firstname。我想做一個相反的事情,所以我將此腳本調整為:

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

但是我的 AD 使用者仍然有一個顯示名稱,例如Lastname, Firstname. PS 沒有給出任何警告或錯誤,並在 AD 中進行了刷新。

有人知道將所有 AD 使用者更改為顯示名稱的技巧Firstname Lastname嗎?

問題是過濾器。該字元串(!displayName=*,*)表示只有目前在其顯示名稱中沒有a,的使用者才應更改。你想要相反的,所以你需要刪除!.

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

引用自:https://serverfault.com/questions/1078031