Active-Directory
將 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
. PS 沒有給出任何警告或錯誤,並在 AD 中進行了刷新。有人知道將所有 AD 使用者更改為顯示名稱的技巧
Firstname Lastname
嗎?
問題是過濾器。該字元串
(!displayName=*,*)
表示只有目前在其顯示名稱中沒有a,
的使用者才應更改。你想要相反的,所以你需要刪除!
.Get-ADUser -LDAPFilter "(&(objectCategory=person)(displayName=*,*))" | ForEach-Object { Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)" }