如何解决快速查询Active Directory
| 假设我有一个SID列表。 目前,我正在为每个SID查询AD。就像是foreach(string sidString in listofSid)
{
DirectorySearcher search = new ....
search.Filter = string.Format(\"(objectSid={0})\",ConvertToOctetString(sidString));
var result = search.FindOne();
.....
}
有没有比这更快的方法?除了循环之外,还有一种方法可以一次查询所有信息而不是循环?
解决方法
我不确定我是否理解您的问题,但是为什么不循环构建过滤器然后搜索一次。过滤器如下所示:
(|(objectSid=sid1)(objectSid=sid2)(...)(objectSid=sidn))
如果您拥有.NET 3.5或更高版本,则可以使用主体。
根据Active Directory搜索的工作方式,服务器尝试处理的最大LDAP请求大小为10485760字节。如果服务器收到的请求大于此值,则它将关闭连接。话虽如此,我从未测试过。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。