【发布时间】:2016-08-05 13:13:44
【问题描述】:
我正在尝试从 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”过滤器,是出于性能考虑。但我不确定这是否真的会提高性能。那么第二个问题是:这两种方法在性能上有什么区别吗?
【问题讨论】:
标签: c# active-directory ldap active-directory-group memberof