Поиск контроллера домена службы Active Directory
Контроллеры домена, на которых выполняется Windows Server 2003, регистрируют некоторые (или все) записи, описанные выше. Эти записи играют важную роль, когда клиент, на котором выполняется система Windows 2000 или Windows XP Professional, пытается войти в домен. Далее описаны действия, которые выполняются при входе клиента в домен.
Табл. 3-3. Значения параметра флага DsGetDcName
Значения флага DsGetDcName | Требуемая запись DNS | ||
DS_PDC_REQUIRED | _ldap._tcp.pdc._msdcs.domainname | ||
DS_GC_SERVER_REQUIRED | _ldap._tcp.sitename._sites.gc. _msdcs.Forestrootdomainname | ||
DS_KDC_REQUIRED | _kdc._tcp.sitename._sites.dc ._msdcs.domainname | ||
DS_ONLY_LDAP_NEEDED | _ldap._tcp.sitename._sites._ msdcs.domainname |
Примечание. Почти всегда функция DsGetDcName включает параметр sitename. Для всех запросов, кроме запроса DS_PDC_REQUIRED, клиент делает начальный запрос, используя параметр сайта. Если DNS-сервер не отвечает на запрос, клиент пошлет тот же самый запрос без параметра сайта. Например, если запрос DS_KDC_REQUIRED не выполнен, клиент пошлет запрос на запись _kdc._tcp.dc._msdcs.forestrootdomain. Это может случиться, если клиент находится на сайте, который не распознан серверами DNS. Клиент может также передать параметр DomainGUID вместо имени домена с помощью функции DsGetDcName (). В этом случае клиент запрашивает запись _ldap._tcp.domainGUID.domains._msdcs.forestname. Это случится только в том случае, если домен был переименован.
Клиент кэширует информацию контроллера домена, чтобы в следующий раз, когда ему потребуется обратиться к Active Directory, не нужно было снова проходить процесс обнаружения.