Active Directory 사용자 이름 : 표준 이름이 다른 이유는 무엇입니까? 그것들을 균일하게 만들기 위해 무엇을 할 수 있습니까?


10

~ 30 대의 PC에서 Windows 로그인에 사용되는 작업 Active Directory 네트워크의 독학 관리자입니다. 저는 직접 Microsoft 교육을받지 않은 다른 사람으로부터 시스템을 물려 받았습니다. 그 결과 몇 가지 일이 어두워졌습니다.

네트워크 자체에는 도메인 컨트롤러, DNS, 파일 공유 등의 역할을하는 단일 Windows Server 2008 R2 시스템이 있습니다. 로그인은 제대로 작동하지만 이전 계정을 사용하지 않도록 설정하는 동안 사용자 목록을 둘러 보았으며 이해하지 못하는 내용을 발견했습니다. .

다음은 몇 가지 샘플 사용자 계정입니다.

  1. 로그온 이름 : john
    이름 : John
    성 : Smith
    표시 이름 : John Smith
    정식 개체 이름 : domain.com/Users/john

  2. 로그온 이름 : bob
    이름 : Bob
    성 : 프랑스어
    표시 이름 : Bob French
    정식 개체 이름 : domain.com/Users/Bob French

현재 도메인 컨트롤러는 Windows Server 2003을 실행하는 데 사용 된 다른 도메인 컨트롤러에서 교체되었습니다. 첫 번째 예제 계정은 Server 2003 상자가 DC 일 때 만들어졌고 두 번째는 새 Server 2008 R2 상자가 DC 일 때 만들어졌습니다. 정식 이름이 다른 이유는 무엇입니까?

Active Directory 브라우저에 내 사용자 목록에 계정의 절반이 '이름', 절반이 '이름 성'이라는 사실이 대부분 짜증납니다.

작업 계정을 손상시키지 않고 모든 것을 동일하게 만들 수 있습니까?


실제로 domain.com/UsersOU에 사용자를 저장 합니까? 아니면 그냥 예입니까?
Mathias R. Jessen

예-이들은 모두 많은 보안 그룹과 함께 domain.com/Users/에 있습니다. 이것은 나쁜 습관입니까? 내가 움직여야합니까? 모든 것을 망치지 않고 움직일 수 있습니까?
evilspoons

2
인증을 위해 간단한 바인드를 사용하는 외부 응용 프로그램이 없다면, 안전하게 이동할 수 있습니다. 그룹 정책 어플라이언스를 잘 제어하여 잘 알려진 보안 그룹과 분리 할 수 ​​있습니다. 이에 대해서도 답변을 업데이트하겠습니다
Mathias R. Jessen

2
AD에있는 개체 수와 구성 방법에 따라 다릅니다. 일반적으로 OU에 배치하여 GPO를 더 잘 구성하고 적용하는 것이 좋습니다. 기본 컨테이너 (예 : "사용자"만)를 그대로 두는 것이 가장 좋습니다.
Massimo

답변:


8

Active Directory는 사용자 계정 개체의 RDN (정식 이름의 마지막 부분)이 표시 이름 또는 로그온 이름과 같은 다른 속성과 어떤 관련이 있는지에 대해 전혀 관심을 갖지 않습니다. 각 개별 속성의 값이 스키마 정의.

Windows Server 2003과 Windows Server 2008 R2간에 Active Directory 사용자 및 컴퓨터의 "새 사용자"양식 동작 (다른 많은 대화 상자)의 동작이 크게 변경되어 일관성이없는 이유 일 수 있습니다.

PowerShell을 사용하여 비 시스템 계정을 옮긴 다음 사용자를 통해 표시 이름이 무엇이든 바꿀 수 있습니다.

# Create new OU named RegularUsers
New-ADOrganizationalUnit -Name RegularUsers -Path "dc=domain,dc=com"

# Retrieve all users that are not critical system objects
$users = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter {-not(isCriticalSystemObject -like '*')}

# Go through each and move to the new OU
foreach($user in $users){
    Move-ADObject $user -TargetPath "OU=RegularUsers,DC=domain,DC=com"
}

# Retrieve all users in the new OU
$movedUsers = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter '*'

foreach($user in $movedUsers){
    # Test if Display Name and object Name is the same, if not - rename
    if($user.DisplayName -ne $user.Name)
    { 
        Rename-ADObject $user -NewName "$($user.DisplayName)" 
    }
}

첫 번째 단계에서는 ADUC의 모든 사용자 계정을 강조 표시하고 다른 위치로 끌어다 놓을 수도 있습니다.


2

개체의 CN / DN은 AD와 LDAP 쿼리에서 내부적으로 만 사용되기 때문에 그다지 중요하지는 않습니다. 최종 사용자 (및 관리자)는이를 거의 볼 수 없습니다. 객체의 전체 LDAP 경로를 포함하기 때문에 객체를 이동할 때 실제로 자체적으로 변경됩니다.

표준화하려는 경우 부작용없이 수행 할 수 있습니다. 유일한 것은 사용자가 실제로 우려하는 것은 자신의 로그온 이름입니다, 그리고 당신이 변경되지 않는 것을 , 그들은 평소와 같이 로그온 할 것입니다.

이를 변경하려면 ADUC 콘솔 또는 PowerShell 명령 Rename-ADObject를 사용하십시오 .


2
CN / DN은 응용 프로그램과 통합 할 때 중요합니다. 일반적으로 LDAP가있는 AD 통합을 찾을 수 없습니다. CN / DN이 표준을 따르는 것이 좋습니다. 더 예쁘게 보입니다 :) 실제로 변경하는 방법에 대한 훌륭한 정보.
Steve Butler

1

dsmove의 명령은 당신을 위해 정식 이름을 변경할 수 있습니다. 테스트 환경에서는이 작업을 수행했지만 실제 환경에서는 사용하지 않았으므로주의해서 진행하는 것이 좋습니다.

또한 반 관련 인 유일한 DC가 다운 될 때 두통을 피하기 위해 다른 도메인 컨트롤러를 구현하는 것이 좋습니다.


도메인 및 포리스트의 기능 수준이 Server 2008 R2 인 경우 이전 Server 2003 상자가 보조 DC 역할을 할 수 있습니까? 아니면 해당 시스템의 OS를 업그레이드해야합니까?
evilspoons

2
도메인 / 포리스트의 모든 DC에 최소한 OS 릴리스가없는 경우 도메인 / 포리스트 기능 수준을 버전 X로 올릴 수 없습니다.
Massimo

@evilspoons 예, 가능합니다. 그러나 massimo가 말했듯이 그렇게하려면 2003 도메인 수준이어야합니다.
Steve Butler

4
DFL / FFL 2008R2 레벨 2008보다 더 되돌릴 수 없기 때문에 @SteveButler, "예"여기 없어 대답 확실히
마티아스 R. Jessen

좋아, 그래서 내 옵션은 2003 레벨에서 도메인을 재 구축하거나 (발생하지 않을 것) 2003 상자를 2008 R2로 업그레이드 할 것입니다 (아마도 일어나지 않을 것입니다. 오래된 것). 나는 무언가가 죽는 경우를 대비하여 우리의 백업이 좋은지 확인합니다.
evilspoons
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.