我正在尝试从 AD 获取“程序员”组中的所有用户。
如果我使用目录条目 asLDAP://DC=Domain
和 filter as memberOf=CN=Programmers,CN=Users,DC=Domain
,我可以获得用户列表。
但是如果我直接使用 entry as 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”过滤器,是出于性能考虑。但我不确定这是否真的会提高性能。那么第二个问题是:这两种方法之间有什么性能差异吗?