Windows Server 2008 和更新的域控制器只會在LDAP回應中傳回5000個值
本文提供 Windows Server 2008 R2 或更新的域控制器只會針對 LDAP 回應傳回 5000 值的問題解決方案。
適用:Windows Server 2012 R2
原始 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,如 LDAP 原則中所設定,但在 Windows Server 2008 R2 或 Windows Server 2008 域控制器上,硬式編碼限制會指定 MaxPageSize=20000 和 MaxValRange=5000。
MaxValRange 會影響針對查詢傳回的屬性數目。 如果您針對具有超過 5000 個成員的群組對象執行多重值屬性 Member 的 LDAP 查詢,則 Windows Server 2008 R2 或 Windows Server 2008 域控制器只會傳回其中 5000 個。
解決方案
Windows Server 2008 R2 和 Windows Server 2008 所導入的新最大限制,會嘗試強制執行應用程式應對 AD 想要強制執行的原則採用的訊息。 您應該據以調整 LDAP 應用程式。
針對 MaxValRange 限制,您可以考慮使用範圍查詢的下列 MSDN 資訊和範例:屬性值的範圍擷取 https://msdn.microsoft.com/library/cc223242(PROT.10).aspx
下列程式代碼範例使用範圍,使用IDirectoryObject 介面擷取群組的成員:使用IDirectoryObject 進行範圍的範例程序代碼 https://msdn.microsoft.com/library/aa705923(VS.85).aspx
下列程式代碼範例使用範圍,使用 IDirectorySearch 介面擷取群組的成員:使用 IDirectorySearch 進行範圍的範例程式代碼 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
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應