快速获取所有用户+指定属性+从LDAP使用分页的方法
本文关键字:LDAP 方法 分页 属性 获取 用户 | 更新日期: 2023-09-27 17:52:41
我想从活动目录中获得所有用户及其属性我检查了许多主题,包括Linq到LDAP +在这里输入链接描述
但一切似乎都很复杂。
我是这样开始的:
public SearchResultCollection GetAllUsrs()
{
var dirEntry = new DirectoryEntry(string.Format("LDAP://{0}/{1}", "x.y.com", "DC=x,DC=y,DC=com"));
var searcher = new DirectorySearcher(dirEntry)
searcher.Filter = "(&(&(objectClass=user)(objectClass=person)))";
searcher.PageSize = 999;
return searcher.FindAll();
}
我如何使用分页,因为活动目录将只返回1000条记录+我如何指定属性?
问题:我想用控制台应用程序查询一个包含多达60k用户的域我想指定属性性能非常重要。你能告诉我实现这一目标的最佳方法吗?
不需要分页。AD将返回1000多个对象。将PageSize设置为0,并根据需要设置SizeLimit。使用int。
下面是如何使用LINQ到LDAP:
using (var connection = new LdapConnection("x.y.com"))
{
using (var context = new DirectoryContext(connection))
{
List<IDirectoryAttributes> users = context
.Query("DC=x,DC=y,DC=com")
.Where("(&(objectClass=user)(objectClass=person))")
.InPagesOf(1000);
}
}