При использовании функции OpenDSObject() ADsOpenObject(), ADsGetObject(), могут возникать неправильные запросы DNS

Переводы статьи Переводы статьи
Код статьи: 258507 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Если передается имя сервера служб Active Directory Интерфейс (ADSI) ADsOpenObject, ADsGetObject, или IADsOpenDSObject::OpenDSObject функция, недопустимых запросов SRV отправляются настроенного сервера доменных имен (DNS). Эти запросы SRV содержат имена узлов и не должен отправляться в сети. Такое поведение не вызывает проблем, но можно создать дополнительный сетевой трафик. Нет ничего страшного, если привязки без вызова или имя домена передается функциям ADSI. Например приведенный ниже образец функции не создает недопустимый запрос, если Имя_домена.com — это имя домена:
ADsOpenObject («LDAP: / /Имя_домена.com/DC =Имя_доменаDC = com ",...)
Создает следующий пример функции и недопустимого запроса Если сервер — Это имя сервера:
ADsOpenObject («LDAP: / /сервер/ DC =Имя_доменаDC = com ",...)
Недопустимый запрос, созданный является:
_ldap._tcp.My-site._sites.dc._msdcs.сервер

Причина

Недопустимый запрос отправляется в процессе определения, является ли имя переданное имя сервера или имя домена.

Когда ldap_open/ldap_init (называемые косвенно по ADsOpenObject, ADsGetObject, или OpenDSObject), называется с именами серверов, он никак не могут знать, является ли аргумент имени сервера или имени домена. В этих случаях DsGetDcName является ли параметр домен вызывается функция. Если аргумент не является именем домена, но вместо имени сервера, вызов локатора контроллера домена создает неправильных запросов записи SRV, основанный на имени сервера. Чтобы устранить эту проблему, добавляется флаг, называется LDAP_OPT_AREC_EXCLUSIVE, могут быть переданы ldap_set_option перед вызовом подключение. Этот флаг указывает LDAP-клиента, что параметр является имя сервера, поэтому вызов указателя не должно pursued. Тем не менее этот новый флаг не были представлены в ADSI.

Решение

Чтобы устранить эту проблему, получите последний пакет обновления для Windows 2000. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
260910 Как получить последний пакет обновления для Windows 2000
Для решения этой проблемы, был добавлен новый флаг ADS_SERVER_BIND, в iads.h. Используйте этот новый флаг с OR с четвертого параметра ADsOpenObject и OpenDSObject функции, если переданное имя сервера. Использование ADsOpenObject Вместо ADsGetObject Если передается имя сервера, так как не существует механизма для передачи нового флага для ADsGetObject.

Это исправление предоставляет основание для решения проблемы. Тем не менее можно удалить недопустимые запросы только в том случае, если новый флаг с помощью программ, вызывающих эти функции.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к». Сначала исправление этой проблемы появилось в пакете обновления 1 (Sp1) для Windows 2000.

Дополнительная информация

Для получения дополнительных сведений об установке Windows 2000 и исправлений для Windows 2000, в то же время щелкните следующий номер статьи базы знаний Майкрософт:
249149Установка исправления для Microsoft Windows 2000 и Windows 2000

Свойства

Код статьи: 258507 - Последний отзыв: 5 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Ключевые слова: 
kbhotfixserver kbbug kbfix kbqfe kbwin2000sp1fix kbmt KB258507 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:258507

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com