zoukankan      html  css  js  c++  java
  • AD查询1000条限制和解决方案

    公司的一个项目要从AD上取数据,为了测试性能,批量在AD上创建了2000多个用户。但是用java程序获取所有用户的时候会报错或者只能取到1000条数据。

    com.novell.ldap.LDAPConnection.search()方法查询的时候最多返回1000条数据。

    用org.springframework.ldap.core.LdapTemplate.search()方法的时候会抛出异常。

    org.springframework.ldap.SizeLimitExceededException     Caused by: javax.naming.SizeLimitExceededException

     

    C#的同事看了半天也找不出原因。用C#程序去取数据的时候也只能取到1000条数据,ldap browser这样的工具也只能返回1000条结果,这个时候我们判断是服务器的问题。

     

    第二天在网上找的“AD 1000”的相关资料。原来windows2000(2003) server本身出于性能负荷的考虑,将LDAP查询的数量限制为1000个。

    当某个ldap查询条件返回数据大于1000条数据的时候,就会报SizeLimitExceededException   的异常

    这里可以参考微软官网的说法: http://support.microsoft.com/kb/315071

     

     

    实际应用中AD中数据超过1000太正常不过了!如果服务器性能允许而且网络带宽不错的话,这样的限制就很不合理。那么如何修改呢?

     

    1.在“开始”——>“运行”——>输入“ ntdsutil”——>回车;

    2.输入:“ldap policies”,回车;

    3.输入:“connections”,回车;

    4.输入:“connect to domain yourDomainName,例如(connect to domain baidu.com

    5.连接提示出现后,输入:“quit”,回车;

    6.输入:“show values”,确认当前的最大返回数;(默认是1000)

    7.输入:“set MaxPageSize to 10000”,将最大返回数改为10000。(最大返回数可以根据实际情况自行定义)。

    8.再度输入:“show values”,确认当前的最大返回数(显示为:1000(10000))。

    9.输入“commit changes”以确认修改。

    10. 再次输入:“show values”,确认当前的最大返回数为10000。

    11. 输入“quit”,退出设置状态;

    12. 输入“quit”,退出当前命令。

     

    然后在用java程序去访问,就可返回2000多个用户!

    如果你的java程序还是返回1000条记录,记得修改一下代码。

     

    LDAPSearchConstraints constraints = new LDAPSearchConstraints();
    constraints.setMaxResults(2000);
    LDAPSearchResults results = conn.search("dc=xxx,dc=com",LDAPConnection.SCOPE_SUB, filter,attrs,false,constraints);
    			
     

    完工!

    备注:客户端(java程序)也可以设置返回结果的数量,但这是为了不影响带宽的情况下设置的。如果设置的值大于服务端设置的值,那么依然没有效果!

    下面把具体操作步骤用图片形式展示在这里!

  • 相关阅读:
    使用Razor视图引擎来生成邮件内容
    Asp .Net Core 2.0 登录授权以及多用户登录
    简单几步,提升.Net Core的开发效率
    百万数据测试 Entity Framework 到底有多慢
    纸壳CMS(ZKEACMS)体验升级,快速创建页面,直接在页面中修改内容
    ZKEACMS 配置使用 HTTPS
    使用 jQuery.Pin 垂直滚动时固定导航
    底层的增删查改
    关于hangfire的使用
    巧用 CSS 实现酷炫的充电动画
  • 原文地址:https://www.cnblogs.com/pengyan5945/p/5218351.html
Copyright © 2011-2022 走看看