从active directory C#中获取所有用户
本文关键字:用户 获取 active directory | 更新日期: 2023-09-27 17:57:36
可能重复:
我能从Asp.Net中的DirectorySearcher获得1000多条记录吗
c#Active Directory服务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();
这是一个用户设置问题。根据这个页面,你必须将页面大小设置为1000才能获得1000多个结果:
OmegaMan:这很奇怪,必须将页面大小设置为1000才能获得超过1000张的记录。由于解决问题的方式,这是一个人们不会忘记的技巧/问题。
您需要在DirectorySearcher
上设置PageSize
属性,以获得分页搜索和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();