即使pagesize设置为更大,directorysearcher对象的上限是5000

即使pagesize设置为更大,directorysearcher findall结果方法的上限是5000结果。 它似乎真的是,因为无论我得到什么5000结果。 这是C#

首先,它是服务器端设置,它限制单次搜索中返回的最大条目数。 默认值是1’000。

其次,如果你真的需要枚举超过1000个条目的限制,你应该查看分页搜索 。 很简单,将DirectorySearcher.PageSize条目设置为一个值(小于系统限制),例如500,并且您将获得500个条目的页面结果。

您将获得的条目数量没有限制 – 您可以简单地枚举DirectorySearcher.FindAll()集合,并且您应该能够以这种方式处理任意数量的条目。 AD服务器只需将您的结果以500页为单位进行批处理 – 一旦您枚举了一个页面,下一个将被交付。

试着做

  mySearcher.SizeLimit = int.MaxValue; mySearcher.PageSize = int.MaxValue; 

它仍然限制在5k?

检查您的Active Directory或LDAP是否限制了查询结果。

我们最多定义了1000个元素。