Netscape LDAP API 从 Microsoft AD 获取 Maxpagesize

Netscape LDAP API to get the Maxpagesize from Microsoft AD

由于 Microsoft AD 具有 maxpagesize 属性,用于 return 从目录到客户端的每页最大记录数。因此,如果我们想从 Microsoft AD 中获取更多记录(超过配置为 maxpagesize 的记录),我们需要进行分页。

因此,为了实现这一点,我们希望通过 Netscape API 在客户端读取 maxpagesize 的值。 那么你能不能帮我们解决这个问题。真的有可能吗,否则我们需要在 UI.

配置页面大小

谢谢, 赫鲁什

MaxPageSize 是 LDAP policy in Active Directory 的一部分,并且由于 Windows Server 2008 R2 或 Windows Server 2008 域控制器,硬编码限制规定 MaxPageSize=20,000 和 MaxValRange=5,000。

可以从以下位置读取值:

dn: CN=Default Query Policy,CN=Query-Policies,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=mad,DC=example,DC=com

但现实生活从来没有那么简单。

LDAP policies are specified using the lDAPAdminLimits attribute。 queryPolicy 对象的 lDAPAdminLimits 属性是一个多值字符串,其中每个字符串值编码一个名称-值对。在编码中,名称和值由“=”分隔。例如,值为“0”的名称 "MaxActiveQueries" 的编码是 "MaxActiveQueries=0"。每个名称都是 LDAP 策略的名称,值是该策略的值。

一个林中可以有多个queryPolicy对象。 DC根据以下逻辑确定包含其策略的queryPolicy对象:

  • 如果 queryPolicyObject 属性存在于 DC 的 nTDSDSA 对象,DC使用它引用的queryPolicy对象。

  • 否则,如果 queryPolicyObject 属性存在于 DC所属站点的nTDSSiteSettings对象,DC 使用它引用的 queryPolicy 对象。

  • 否则DC使用DN为“CN=Default”的queryPolicy对象 Query Policy,CN=Query-Policies" 相对于 nTDSService 对象 (例如,“CN=Default Query Policy, CN=Query-Policies, CN=Directory Service, CN=Windows NT, CN=Services”相对于 配置 NC 的根目录)。

最后 Windows Server 2008 和 Windows Server 2008 R2 中的 MaxPageSize(我稍后假设)有一个硬编码限制 override LDAP policy 在 Active Directory 设置中 策略值应该更高时