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

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

我的組織希望將顯示名稱格式變更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

答案1

問題出在過濾器上。該字串(!displayName=*,*)表示目前只有用戶,應該更改其顯示名稱中的。您想要相反,所以您需要刪除!.

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

相關內容