域与目录服务

DC 仅返回 LDAP 响应中的 5000 个值 - Windows Server

· 52CE 我爱测

本文提供了一个解决方案,其中 Windows Server 2008 R2 或更高版本的域控制器仅返回 5000 个 LDAP 响应值的问题。 原始 KB 数: 2009267 现象 当将查询发送到 Windows Server 2008 或 Windows Server 2008 R2 域控制器时,LDAP 应用程序可能会返回的信息少于发送到 Windows Server 2003 域控制器的时间。 查询结果可能显示为截断或不完整。 在某些情况下,可能无

本文提供了一个解决方案,其中 Windows Server 2008 R2 或更高版本的域控制器仅返回 5000 个 LDAP 响应值的问题。

原始 KB 数: 2009267

现象

当将查询发送到 Windows Server 2008 或 Windows Server 2008 R2 域控制器时,LDAP 应用程序可能会返回的信息少于发送到 Windows Server 2003 域控制器的时间。 查询结果可能显示为截断或不完整。 在某些情况下,可能无法获得任何结果。 例如,如果 LDAP 应用程序查询组的成员,则 Windows Server 2008 R2 或 Windows Server 2008 域控制器仅返回 5000 个成员,而 Windows Server 2003 域控制器返回更多成员。 在这两种情况下,你都可以在 LDAP 应用程序所需的 NTDSUTIL 中实现相同的扩展 LDAP 策略设置。 有关查看 LDAP 策略设置的详细信息,请单击以下文章编号以查看Microsoft知识库中的文章:

315071如何使用 Ntdsutil.exe 在 Active Directory 中查看和设置 LDAP 策略

示例输出:

ldap 策略:显示值

策略当前(新)

MaxPoolThreads 4 MaxDatagramRecv 4096 MaxReceiveBuffer 10485760 InitRecvTimeout 120 MaxConnections 5000 MaxConnIdleTime 900 MaxPageSize 50000 MaxQueryDuration 120 MaxTempTableSize 10000 MaxResultSetSize 262144 MinResultSets 0 MaxResultSetsPerConn 0 MaxNotificationPerConn 5 MaxValRange 25000

注意

在两个域控制器上,MaxPageSize 设置为 50000(默认值 1000),MaxValRange 设置为 25000(默认值 1500)。

原因

Windows Server 2008 R2 和 Windows Server 2008 中引入了内部 LDAP 限制,以防止域控制器过载。 当策略值应更高时,这些限制将覆盖 LDAP 策略设置。

LDAP 设置 最大值(硬编码)
MaxReceiveBuffer 20971520
MaxPageSize 20000
MaxQueryDuration 1200
MaxTempTableSize 100000
MaxValRange 5000

因此,上述 LDAP 策略的有效设置是 Windows Server 2003 域控制器上配置的 MaxPageSize=50000 和 MaxValRange=25000,但在 Windows Server 2008 R2 或 Windows Server 2008 域控制器上,硬编码的限制决定了 MaxPageSize=20000 和 MaxValRange=5000。 MaxValRange 会影响为查询返回的属性数。 如果对具有 5000 多个成员的组对象的多值属性成员执行 LDAP 查询,则 Windows Server 2008 R2 或 Windows Server 2008 域控制器将仅返回其中 5000 个成员。

解决方法

Windows Server 2008 R2 和 Windows Server 2008 引入的新最大限制尝试强制实施应用程序应采用的策略的消息。 应相应地调整 LDAP 应用程序。 对于 MaxValRange 限制,可以考虑以下 MSDN 信息和使用范围查询的示例:属性值的范围检索 https://msdn.microsoft.com/library/cc223242(PROT.10).aspx 下面的代码示例使用 ranging 通过 IDirectoryObject 接口检索组的成员:使用 IDirectoryObject 进行 Ranging 的示例代码 https://msdn.microsoft.com/library/aa705923(VS.85).aspx 下面的代码示例使用 Ranging 通过 IDirectorySearch 接口检索组的成员:使用 IDirectorySearch 进行 Ranging 的示例代码 https://msdn.microsoft.com/library/aa705924(VS.85).aspx 对于 MaxPageSize,建议使用 MSDN 上概述的分页查询,如下所示:分页搜索结果 https://msdn.microsoft.com/library/aa367011(VS.85).aspx ldap_create_page_control 函数 https://msdn.microsoft.com/library/aa366547(VS.85).aspx 有一种方法可以替代这些限制,但我们建议与Microsoft客户支持讨论要求,以确定修改策略是否是正确的方法。

详细信息

有关 LDAP 策略的详细信息,请访问 LDAP 策略 https://msdn.microsoft.com/library/cc223376(PROT.10).aspx

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
按正文的 Windows / Windows Server 适用版本;保留原文兼容性要求
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

正文与所需资源由本站本地存储。查看来源及更新记录 ↗

请按适用版本和实际日志确认原因;本站没有对每一种系统或设备逐项执行文中的操作。