2012-02-29 7 views
0

私はasp.net/C#アプリケーション内のユーザーの一覧を取得するためにActive Directoryを照会しようとしています。なぜこのコードはOUに限定されないのですか?

私はこのコードを持っている:私は、ユーザーからの1000年「一般名」のリストを取得しますが...事実でTest/Users/Sub 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; 

それが働いている...それは要求と思われますすべてのADの範囲内のユーザーを検索しています。

何が問題なのですか?多分私が間違っていますが、二回変数searcher1を上書きヘルプ

答えて

2

ため

ありがとう:

この第二の上書きは無用であるあなたが最初のものを使用したい場合は...

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

OMG私はちょっとばかげたばかだ – bAN

+3

いいえ、ちょっと休んで、コーヒーを飲んで、太陽を見て、すべてうまくいくでしょう) –

1

フィルタを使用して大変お手伝いください。あなたは、より使いたいユーザーやコンピュータを収集します。

(&(objectCategory=person)(objectClass=user)) 
+0

ありがとうございました – bAN

関連する問題