繁体   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