2009-10-06 10 views
0

Windows NT 네트워크 도메인을 사용하여 정규화 된 도메인 이름을 얻을 수 있다는 것을 알고 있습니다. 그 반대로하고 싶습니다. 예 : User.Identity.Name = "slaterock \ fflintstone"; Active Directory는 slaterock.bedrock.us.com의 정규화 된 도메인 이름을 반환합니다. 해당 사용자가 Active Directory (LDAP)를 쿼리하여 User.Identity.Name의 도메인 부분을 가져올 수 있기를 원합니다. 나는 사용자의 이메일 주소를 사용하는 것입니다 : (& (방법 objectClass = 사용자) (수 objectcategory = 사람) ([email protected])) 나는 AD 속성을 반환 아무 문제가 없다Active Directory 및 네트워크 ID

,하지만 그럴 수 없어 내가 가진 속성과 User.Identity.Name에 반환 된 도메인 이름 사이의 절대적인 연결을 찾습니다. 나는 도메인 구성 요소 (DC = slaterock, DC = 기반암, DC = 미국, DC = 어쩌구, 어쩌구)에서 그것의 일부를 볼 수 있지만 직접 연결이 필요합니다.

감사

답변

1

첫째, 용어의 조금 명확하게하기 위해 (그리고 당신이 어떤 검색하기 위해) :

  • 'slaterock의 \의 fflintstone'의 'slaterock는'대한의 NetBIOS 도메인 이름입니다 도메인.
  • 'DC = slaterock, DC = 기반암, DC = 미국, DC = 어쩌구, 어쩌구'는 도메인의 defaultNamingContext입니다.
  • CN = fred flinstone, OU = Quarry1, DC = slaterock, DC = bedrock, ...은 사용자 계정의 distinguishedName입니다.

은 도메인의 NetBIOS 도메인 이름에 대한 사용자의 distinguishedName을에서 번역 :

  • 사용자 계정의 distinguishedName을 얻을하고 defaultNamingContext를 얻기 위해 그것을 잘라.
  • 그런 다음 위에 나온 defaultNamingContext와 일치하는 nCName 값을 가진 개체에 대해 "CN = Partitions, CN = Configuration, DC = JohnLewis, DC = co, DC = uk"검색을 수행하십시오.
  • 해당 개체의 nETBIOSName 특성을 가져 오면 사용자가 원하는 것을 얻을 수 있습니다.