2013-01-17 4 views
1

저는 한 데이터베이스에서 정보를 자동으로 가져와 Active Directory를 업데이트하는 Powershell Script를 작성하고 있습니다. 새로운 사용자를 추가합니다.활성 디렉토리 Add-QADUser - 고유 식별자는 무엇입니까?

나는 Active Directory에 새로운 오전, 예를 들어, 나는 userPrincipalName 사용을 기대 this useful graphic maps to link UI label to AD attributes

을 사용하고 있습니다 [email protected]은 사용자 계정의 고유 식별자입니다.

그러나 테스트 중에는 달리 나타납니다. 내가 할 경우

$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina A Tana' ` 
      -UserPrincipalName '[email protected]' ` 
      -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com' 
$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina B Tana' ` 
      -UserPrincipalName '[email protected]' ` 
      -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com' 

이 계정은 유일한 차이점은 - 이름 필드 인 상태 확인을 만들어 모두를 할 것이다.

내가 할 경우

$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina Tana' ` 
      -UserPrincipalName '[email protected]' ` 
      -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com' 
$status = New-QADUser -FirstName 'Tina' -LastName 'Tana' -Name 'Tina Tana' ` 
      -UserPrincipalName '[email protected]' ` 
      -ParentContainer 'OU=OU2,OU=OU2,DC=example,DC=com' 

의 차이는 단지 -UserPrincipalName입니다. 두 번째 추가 사용자가 실패합니다. PS에 이미 생성 된 사용자가 있습니다. 다른 조합을 시도했지만 이름이 고유해야하며 다른 필드는 중요하지 않음을 나타냅니다.

내가 무엇을 놓쳤습니까? 사람들은 동일한 이름을 가질 수 있지만 계정을 만들 때 사용자 본인 이름은 고유해야합니다. AD 사용자 및 컴퓨터 GUI 도구를 사용하여 새 사용자 AD 계정을 수동으로 만들면 다른 사용자에게 동일한 로그온 이름 (예 : userPrincipalName)을 부여하면이 도구는 다른 로그온 이름을 지정해야한다고 알려줍니다.

그래서 왜 다른 파워 쉘에서 그 일을 할 때, 명령이 성공적으로 실행됩니다 왜?-QADUser를 추가 하시겠습니까?

이 많은 들으하여 입력! 의아해!

답변

1

을 퀘스트를 사용하여 파워 쉘에서 그 일을 읽기입니다 이 microsoft KB 및이 msdn library

Active Directory 자체는 UPN의 고유성을 적용하지 않습니다. UPN을 만들거나 수정하는 프로세스는 고유성을 확인해야합니다 (이 작업은 글로벌 카탈로그를 쿼리하여 수행됩니다). 아마도 New-Qaduser은이 확인을 수행하지 않습니다.

일반적으로 사용자의 고유 식별자는 samAccountName입니다. UserPrincipalName AD 빌드를 기본 구성으로 설정하지 않은 경우 사용자 주체 이름은 UPN 접두사 (사용자 계정 이름)와 UPN 접미사 (DNS 도메인 이름)의 두 부분으로 구성됩니다. 파트는 @ 기호로 결합되어 전체 UPN을 만듭니다. 예를 들어 Example 도메인에 계정이있는 사용자는 UPN이 "[email protected]"이됩니다.