我有一个命令可以清除我们的 Active Directory (AD) 结构并重建它以进行测试。该命令还将在 Prod 中用于执行 AD 结构的初始设置。
在我们的开发沙盒 AD 服务器上,它运行良好。在 QA AD 服务器中,我收到错误
已超出此请求的管理限制。
谷歌搜索表明我要么需要在循环中调用删除方法,要么让管理员更改设置。
需要更改哪些设置以及是否存在硬编码最大值?
它们是不同的活动目录。一个是 Server 2008 R2,另一个是 Server 2003。
答案1
该设置限制了您一次可以获取的对象数量。Microsoft 在 2003 和 2008 中改变了 Active Directory 之间的行为。在 2003 年,您可以将其设置得非常高,并且它会遵守。在 2008 年,您可以将其设置得非常高,但它只是对其设置了一个任意上限。在我们的 AD 树中有 40K 个对象的情况下,在 2003 年,您可以通过单个 LDAP 命令将它们全部提取出来,当我们转到 2008 年(注意,AD 设置相同)时,我们被限制为 10,000 个对象。这是一个硬性限制
解决这个问题的唯一方法是配置 LDAP客户支持分页搜索模式。当您连接到 LDAP 服务器时,您告诉它您将接受特定数量的“页面”。当您进行查询时,您的回复将以不大于您指定的最大页面大小的块发送。这大大减少了 LDAP 服务器的负载,这就是 Microsoft 为其设置任意最大值(10K)的原因。