我的組織希望將顯示名稱格式變更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
?
答案1
問題出在過濾器上。該字串(!displayName=*,*)
表示目前只有用戶不,
應該更改其顯示名稱中的。您想要相反,所以您需要刪除!
.
Get-ADUser -LDAPFilter "(&(objectCategory=person)(displayName=*,*))" |
ForEach-Object {
Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}