2016-08-05 13 views
0

私はADの「Programmers」グループのすべてのユーザーを取得しようとしています。グループ内のActive Directoryユーザーを取得する

ディレクトリエントリをLDAP://DC=Domainとし、フィルタをmemberOf=CN=Programmers,CN=Users,DC=Domainとすると、ユーザーリストを取得できます。

しかし、私が直接LDAP://CN=Programmers,CN=Users,DC=Domainというエントリを使用すると、結果が得られません。

using (DirectoryEntry de = new DirectoryEntry(string.Format("LDAP://CN=Programmers,CN=Users,DC=Domain"))) 
using (DirectorySearcher ds = new DirectorySearcher(de)) 
{ 
    int pageIndex = PAGESIZE * nPage + 1; 
    ds.SearchScope = SearchScope.Subtree; 
    ds.Sort = new SortOption("samaccountname", SortDirection.Ascending); 
    ds.VirtualListView = new DirectoryVirtualListView(0, PAGESIZE - 1, pageIndex); 
    var results = ds.FindAll(); 
} 

なぜ誰に通知できますか?

「memberOf」フィルタの代わりにこれを使用したい理由は、パフォーマンス上の考慮事項です。しかし、これが実際にパフォーマンスを向上させるかどうかはわかりません。だから2番目の質問は、これらの2つの方法の間にパフォーマンスの違いはありますか?

答えて

0

それは最終的にコードがあるべき...

を働いた:

ds.SearchScope = SearchScope.Base; 
ds.AttributeScopeQuery = "member"; 

そして、それが動作します。

関連する問題