Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается решение проблемы, из-за которой контроллер домена Windows Server 2008 R2 или более новый контроллер домена возвращает только 5000 значений для ответа LDAP.
Исходный номер базы знаний: 2009267
Симптомы
Приложение LDAP может возвращать меньше сведений, если запрос отправляется в контроллер домена Windows Server 2008 или Windows Server 2008 R2, чем при отправке на контроллер домена Windows Server 2003. Результаты запроса могут отображаться усеченными или неполными. В некоторых случаях вы не можете получить никаких результатов. Например, если приложение LDAP запрашивает членов группы, контроллер домена Windows Server 2008 R2 или Windows Server 2008 возвращает только 5000 членов, а контроллеры домена Windows Server 2003 возвращают много других членов. В обоих случаях можно реализовать один и тот же расширенный параметр политики LDAP в NTDSUTIL, необходимый для приложения LDAP. Дополнительные сведения о просмотре параметров политики LDAP щелкните следующий номер статьи, чтобы просмотреть статью в Базе знаний Майкрософт:
315071 Просмотр и настройка политики LDAP в Active Directory с помощью Ntdsutil.exe
Образец вывода:
Политика ldap: отображение значений
Политика Current(New)
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).
Причина
Внутренние ограничения LDAP появились в Windows Server 2008 R2 и Windows Server 2008, чтобы предотвратить перегрузку контроллера домена. Эти ограничения перезаписывают параметр политики LDAP, если значение политики должно быть выше.
Параметр LDAP | максимальное значение (жестко закодированное) |
---|---|
MaxReceiveBuffer | 20971520 |
MaxPageSize | 20000 |
MaxQueryDuration | 1200 |
MaxTempTableSize | 100000 |
MaxValRange | 5000 |
Поэтому действующий параметр для приведенной выше политики LDAP — MaxPageSize=50000 и MaxValRange=25000 на контроллере домена Windows Server 2003, как настроено в политике LDAP, но на контроллере домена Windows Server 2008 R2 или Windows Server 2008 жесткие ограничения диктуют MaxPageSize=20000 и MaxValRange=5000.
MaxValRange влияет на количество атрибутов, возвращаемых для запроса. Если вы выполняете запрос LDAP для элемента с несколькими значениями атрибута для объекта группы с более чем 5000 членами, контроллер домена 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
Существует способ переопределить эти ограничения, но мы рекомендуем обсудить требования с технической поддержкой майкрософт, чтобы решить, является ли изменение политик правильным подходом.
Дополнительная информация
Дополнительные сведения о политиках LDAP см. в политиках LDAP https://msdn.microsoft.com/library/cc223376(PROT.10).aspx