2012-02-29 5 views
0

Active Directory를 쿼리하여 asp.net/C# 응용 프로그램에서 사용자 목록을 가져 오려고합니다.이 코드가 OU에만 국한되지 않는 이유는 무엇입니까?

이 코드를 가지고 :

사실에
adProvider = "LDAP"; 
    adPath = "DC00.Domain.prv/OU=Sub,OU=Users,OU=Test,DC=Domain,DC=prv"; 
    entry = new DirectoryEntry(string.Format("{0}://{1}", adProvider, adPath),"AD","ThePwd"); 
    DirectorySearcher searcher1 = new DirectorySearcher(entry); 


    searcher1 = new DirectorySearcher("objectClass=user"); 

    SearchResultCollection results1; 
    results1 = searcher1.FindAll(); 
    var list = new List<string>(); 
    for (int i = 0; i < results1.Count; i++) 
    { 

     list.Add(results1[i].Properties["cn"][0].ToString()); 
    } 
    return list; 

나는 사용자로부터 1000 "일반 이름"의 목록을 얻을 수 있지만, 때문에이 작동 ..는 Test/Users/Sub OU는 한 명의 사용자 만이 ..이 요청을 보인다 모든 광고 범위에서 사용자를 검색하고 있습니다.

무엇이 잘못 되었나요? 도움을

감사

답변

2

어쩌면 내가 틀렸다하지만 두 변수 searcher1 덮어 :

첫 번째 하나를 사용하려면이 두 번째 덮어 쓰기가 쓸모를 ...

searcher1 = new DirectorySearcher("objectClass=user"); 
+0

OMG 난 그냥 웃기는 벙어리 야 – bAN

+3

아니, 그냥 잠깐 쉬어야하고 커피를 마시고 태양을보고 나서 괜찮을거야;) –

1

"objectClass=user" 필터를 사용하면 더 잘 사용하는 사용자와 컴퓨터를 수집 할 수 있습니다.

+0

고마워. – bAN

관련 문제