-1

可能重复:
我可以从 Asp.Net 中的 DirectorySearcher 获得超过 1000 条记录吗?
c# Active Directory Services findAll() 仅返回 1000 个条目

尝试从 AD 读取所有用户时遇到问题。Active Directory 包含超过 3000 个用户,但我只能读取 1000 个。这是我的代码

public DirectoryEntry directoryEntry = new DirectoryEntry(ldap, userName, password);
public DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);

var allUsers = directorySearcher.FindAll();
4

2 回答 2

3

是用户设置问题。根据此页面,您必须将页面大小设置为 1000 才能获得超过 1000 个结果:

OmegaMan:是的,这很奇怪,必须将页面大小设置为 1000 才能获得超过 1000 条的记录。这是一个技巧/问题,人们不会忘记解决问题的方式。

于 2013-02-04T13:00:00.620 回答
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();
于 2013-02-04T13:07:53.580 回答