域与目录服务

不正确地追查带从属引用的 LDAP 分页查询 - Windows Server

· 52CE 我爱测

本文提供了一些方法来避免未正确追查带从属引用的 LDAP 分页查询的问题。 适用于: Windows 8原始 KB 数: 2561166 现象 你有一个应用程序,该应用程序使用ldap\search\ext或ldap\search\ext\s通过分页搜索来搜索 Active Directory,并将其设置为追逐引荐。 当它搜索域 NC 的根目录时,分页搜索将在第一页之后过早结束。 在应用程序中,它收到的分页 Cookie 为空,因此应用程序结束查询。 在网

本文提供了一些方法来避免未正确追查带从属引用的 LDAP 分页查询的问题。

适用于: Windows 8原始 KB 数: 2561166

现象

你有一个应用程序,该应用程序使用ldap_search_ext或ldap_search_ext_s通过分页搜索来搜索 Active Directory,并将其设置为追逐引荐。 当它搜索域 NC 的根目录时,分页搜索将在第一页之后过早结束。

在应用程序中,它收到的分页 Cookie 为空,因此应用程序结束查询。 在网络跟踪中,可以验证分页查询是否返回非空 Cookie 以及一个或多个引荐。 大多数查询在追逐引用时不会看到任何结果集,因为通常在域 NC 中搜索的对象不存在于从属 NC 中,除非它们也是域 NC。

应用程序也可能在第一页后收到“操作错误”。

域控制器返回以下命名上下文的从属引用:

  1. 搜索林根目录时:配置 NC(后跟架构 NC 的引用)
  2. 搜索林根时:ForestDnsZones NC
  3. DomainDnsZones NC
  4. 所有子域。 所有大子域都递归到整个域树下。

原因

在分页查询期间追查引荐时,存在多个问题:

  1. 当追查位于同一服务器上的命名上下文(见 1.,可能为 2.和 3.),同一 LDAP 会话上发生追逐,擦除客户端 LDAP 运行时中主查询中返回的分页 Cookie。
  2. 当上次引荐追逐量也超过页面大小时,从上一次 NC 追逐收到的引荐 Cookie 用于继续主要搜索。 这会导致 LDAP 搜索失败并出现“操作错误”,因为 Cookie 不符合服务器对搜索索引和索引位置的知识。
  3. 使用不带 SSL 的简单绑定完成主搜索后,引用的追逐失败并出现“操作错误”,因为 LDAP 客户端设计为在追逐引荐时不发送明文凭据。

解决方法

目前没有解决问题的办法。

可以在应用程序中使用以下方法来避免问题:

  1. 使用基本 DN 可避免服务器返回从属引用,例如,在域根对象下搜索 OU。
  2. 搜索全局目录而不是林根域 NC。 你需要确保所需的所有属性都存在于 GC 中,并且确实需要整个林而不是之前搜索的域树。
  3. 如果不希望自动追逐引荐:由于引荐默认被追逐,请使用带有标志LDAP_OPT_REFERRALS ldap_set_option关闭引荐追逐。 完成主查询后,始终可以手动追查引荐。
  4. 在搜索时使用控件LDAP_SERVER_DOMAIN_SCOPE_OID,在搜索域根时关闭延续引用。

资料来源与适用范围

资料来源
微软官方中文故障文档
适用范围
适用于: Windows 8原始 KB 数: 2561166
内容语言
中文;命令、路径和错误标识保留技术原文
本地收录日期
2026-10-26
授权说明
CC BY 4.0

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

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