簡體   English   中英

獲取組中的Active Directory用戶

[英]Get Active Directory users in Group

我正在嘗試從AD獲取“程序員”組中的所有用戶。

如果我使用目錄項作為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”過濾器,是出於性能方面的考慮。 但是我不確定這是否會真正提高性能。 因此,第二個問題是:這兩種方法之間是否存在性能差異?

終於解決了...

代碼應為:

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

然后它將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM