可能重复:
Can I get more than 1000 records from a DirectorySearcher in Asp.Net?
c# Active Directory Services findAll() returns only 1000 entries
尝试从AD读取所有用户时出现问题。活动目录包含超过3000个用户,但我只能读取1000.这是我的代码
public DirectoryEntry directoryEntry = new DirectoryEntry(ldap, userName, password);
public DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
var allUsers = directorySearcher.FindAll();
答案 0 :(得分:3)
这是用户设置问题。根据此page,您必须将页面大小设置为1000以获得超过1000个结果:
OmegaMan:Ya奇怪,人们必须将页面大小设置为1000以获得超过1000的记录。这是一个不会忘记的技巧/问题,因为必须解决问题。
答案 1 :(得分:2)
您需要在PageSize
上设置DirectorySearcher
属性,以便分页搜索并返回1000多行:
public DirectoryEntry directoryEntry = new DirectoryEntry(ldap, userName, password);
public DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.PageSize = 500; // ADD THIS LINE HERE !
var allUsers = directorySearcher.FindAll();