2011-08-23 10 views
2

DirectorySearcher을 사용하여 회사 AD 서버의 모든 AD 사용자의 표시 이름을 얻으려고합니다. 약 100,000 개의 레코드가 있으며 대부분의 결과가 정확합니다.DirectorySearcher를 사용한 결과가 이상 함

는하지만 우리는, 나는 전망 체크, 또한 AD에서 표시 이름을 동기화하는 정말 이상한 결과의 근처 100 사용자의 표시 이름이 "$ CimsUserVersion2"되어있어, 이름

이 유 같은 문제에 직면 적이 정확 ?

덕분에 많은

그게 문제가 있다면
using (var de = new DirectoryEntry("LDAP://" + domain)) 
{ 
    using (var search = new DirectorySearcher(de)) 
    { 
     search.Filter = "CN=" + userName; 
     var results = search.FindAll(); 
     string temp = results[0].Properties["displayname"][0].ToString(); 

     if (string.IsNullOrEmpty(temp)) 
     { 
      return string.Empty; 
     } 
     else 
     { 
      return temp; 
     } 
    } 
} 

답변

0

확실하지 -하지만 난 당신이 displayName 속성을로드 할 수 원하는 당신의 수색자 말할 필요 거라고 생각 :

using (var de = new DirectoryEntry("LDAP://" + domain)) 
{ 
    using (var search = new DirectorySearcher(de)) 
    { 
     search.Filter = "CN=" + userName; 
     search.PropertiesToLoad.Add("displayName"); // specify "displayname" to be returned from search 

     var results = search.FindAll(); 

     string temp = results[0].Properties["displayname"][0].ToString(); 

     if (string.IsNullOrEmpty(temp)) 
     { 
      return string.Empty; 
     } 
     else 
     { 
      return temp; 
     } 
    } 
} 
+0

감사합니다, 100,000 사용자가 자신의 올바른 표시 이름을 가지고, 몇 이상한 값이 –

0

돈 "Centrify DirectControl"을 사용하여 UNIX 사용자 및 그룹을 Microsoft Active Directory로 프로비저닝하는 것을 자동화하지 마십시오.

이 도구는 간단한 개체 모델을 사용하여 UNIX NIS 서비스는 물론 사용자, 그룹, 컴퓨터 및 영역의 UNIX 관련 속성을 관리합니다.

필자가 알고있는 한, Active Directory 특성을 사용하여 일부 특수 정보를 등록합니다.

UserVersion는 displayName에 매핑이다

UserVersion 사용자 프로필 객체와 Centrify DirectControl 관리자 콘솔 간의 호환성을 결정한다. 이 속성의 유일한 유효한 값은 $ CimsUserVersion2입니다.

예를 들어

:

나 displayName : $ CimsUserVersion2 답장을

+0

감사 코드 수준의 문제가 아니에요 자게이다 - 나 displayName가있다 특성, 나는 우리의 전망에서, 우리는이 이상한 사용자가 Gary Wang과 같은 올바른 표시 이름을 가질 수 있지만, .net 메서드를 사용할 때 $ CimsUserVersion2를 반환한다는 것을 알 수 있습니다. 이상한 점은 대부분 사용자들입니다. 100 명의 사용자 만 AD 또는 .net 문제가 발생합니까? –

+0

Gary에게 LDP.EXE 또는 ADSIEDIT.MSC로 광고를 보시고 100 명의 사용자 중 하나의 displayName 속성을 확인하십시오. 속성에 실제로'$ CimsUserVersion2' 값이 포함되어 있다는 것을 확실히 알고 있습니다. – JPBlanc

관련 문제