我正在使用System.DirectoryServices.DirectorySearcher为用户遍历Active Directory。在大多数情况下,这可以很好地工作。代码大致如下:
Ldapconnection conn = CreateConnection(...);
System.DirectoryServices.DirectorySearcher searcher = new System.DirectoryServices.DirectorySearcher();
searcher.SearchScope = System.DirectoryServices.SearchScope.Subtree;
foreach (System.DirectoryServices.SearchResult result in searcher.FindAll()) {
}由于某些原因,这并不总是完全遍历整个树。如果我指定searchroot指向缺少的子树,它确实会导入该子树。
我是不是遗漏了什么?
发布于 2011-03-26 01:30:34
它是否在1000个用户时停止?我相信AD默认设置为只返回1000个对象。
发布于 2011-03-26 01:38:04
如果在遇到有问题的行为时,SearchResultCollection的计数为1000,请尝试将DirectorySearcher上的PageSize属性设置为1000。
Ldapconnection conn = CreateConnection(...);
DirectorySearcher searcher = new System.DirectoryServices.DirectorySearcher();
searcher.SearchScope = System.DirectoryServices.SearchScope.Subtree;
searcher.PageSize = 1000;
foreach (System.DirectoryServices.SearchResult result in searcher.FindAll()) { } https://stackoverflow.com/questions/5435921
复制相似问题