우리 조직에서는 표시 이름 형식을 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=*,*)
현재~하지 않다표시 이름에 a가 있어야 ,
합니다. 반대를 원하므로 를 제거해야 합니다 !
.
Get-ADUser -LDAPFilter "(&(objectCategory=person)(displayName=*,*))" |
ForEach-Object {
Set-ADUser $_ -DisplayName "$($_.givenName) $($_.Surname)"
}