2009-06-28 4 views

답변

6

Department 특성이 반환 된 개체 목록을 가져 오려면 System.DirectoryServices 네임 스페이스에서 DirectorySearcher를 사용할 수 있다고 가정합니다.

그런 다음 필터는 같은 것이다 :

ds.Filter = "(objectClass=user)"; 

그리고 당신은 단지 부서 특성로드 수색자 말할 수 :

ds.PropertiesToLoad.Add("department"); 

그런 다음 결과 집합 throught를 열거 :

SearchResultCollection results = ds.FindAll(); 

그런 다음 각 부서 속성을 사전에 추가하여 모든 고유 값을 가져옵니다

foreach (SearchResult result in results) 
{ 
    string dept = String.Empty; 
    DirectoryEntry de = result.GetDirectoryEntry(); 
    if (de.Properties.Contains("department")) 
    { 
    dept = de.Properties["department"][0].ToString(); 
    if (!dict.ContainsKey(dept)) 
    { 
     dict.Add(result.Properties["department"][0].ToString(); 
    } 
    } 
} 


는 다른 방법으로, 같은 DSQUERY 또는하여 adfind 당신이 정보를 제공합니다 명령 줄 도구가 있습니다.

adfind -default -f "(objectclass=user)" department -list | sort 

은 모든 사용자에 대해 부서 속성의 정렬 된 목록을 제공합니다.

+0

adfind는 'Windows 운영 체제 용 원격 서버 관리 도구 (https://support.microsoft.com/en-us/kb/2693643) 용 RSAT (원격 서버 관리 도구)'의 일부입니다. 프리웨어는이 도구의 향상된 버전을 제공합니다. http://www.joeware.net/freetools/ – BiLaL

관련 문제