Перед тем, как ответить на этот вопрос, рассмотрим, что же на самом деле происходит в процессе регистрации.

При попытке зарегистрироваться в домене рабочая станция отправляет запрос для поиска контроллера этого домена. Имя домена является именем NetBIOS, состоящим из 16-ти символов, где шестнадцатый символ используется сетевыми службами Microsoft для определения типа имени NetBIOS.

Типом идентификатора для контроллера домена является значение <1C>, таким образом имя NetBIOS для контроллера домена в домене “TECH” составляет “TECH <1C>”. Тип NetBIOS определяется 16-м символом имени. Следовательно, имя домена должно быть дополнено пробелами для получения длины в 15 символов.

Если клиент поддерживает службу WINS, то запрос на разрешение имени домена <1C> отправляется серверу WINS, определенному в свойствах протокола TCP/IP клиента. Сервер WINS возвращает до 25-ти IP-адресов, которые соответствуют контроллерам интересующего домена. Широковещательный запрос \mailslot\net\ntlogon затем передается в локальную подсеть и рабочая станция, получившая ответ, пытается зарегистрироваться на локальном контроллере домена.

Если служба WINS не настроена, существует возможность внести необходимую информацию в файл LMHOSTS на рабочей станции, что позволит указать расположение контроллера домена. Этот файл расположен в каталоге %systemroot%\system32\drivers.

Вот пример записи в этом файле:

200.200.200.50 lohanik #PRE #DOM:tech #tech domain controller

В этом примере IP-адрес 200.200.200.50 определяется как адрес компьютера Titanic, который является контроллером домена tech. Эта запись указывает компьютеру сохранять IP-адрес в локальном кэше.

Для проверки кэша имен NetBIOS необходимо воспользоваться командой nbtstat – c, которая отобразит все записи NetBIOS локального кэша, а также тип каждой записи. Если служба WINS не настроена и отсутствует файл LMHOSTS на рабочей станции, последняя отправит последовательность из трех широковещательных запросов. Если ответ не будет получен и служба WINS сконфигурирована для использования службы DNS при преобразовании имен WINS, серверу DNS отправляется соответствующий запрос. В конечном итоге проверяется содержимое файла HOSTS. Если все попытки найти контроллер домена завершатся неудачей, будет выдано сообщение об ошибке “A domain controller for your domain could not be contacted.”

Для того, чтобы клиентская система применяла определенный контроллер домена, необходимо выполнить следующие действия.

  1.  Откройте редактор системного реестра (REGEDIT.EXE).

  2.  Перейдите в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters.

  3.  В меню Правка (Edit) выберите команду Создать > Параметр DWORD (New > DWORD Value).

  4.  Введите имя записи NodeType и нажмите клавишу <Enter>.

  5.  Дважды кликните на новой записи и присвойте ей значение 4. (Это переведет локальный узел сети в режим M-узел/смешанный, благодаря чему рабочая станция будет использовать широковещательный запрос до передачи запроса серверам преобразования имен.) По умолчанию указан режим 1, если не настроен ни один сервер WINS (B-узел/широковещание) или 8, если настроен хотя бы один сервер WINS (H-узел/смешанный — разрешение имени с помощью сервера NetBIOS, затем широковещание).

  6.  Дважды кликните на записи EnableLMHOSTS и присвойте ей значение 1. Если запись не существует, выберите команду Правка > Создать > Параметр DWORD (Edit > New > DWORD Value) и введите имя записи EnableLMHOSTS.

  7.  Завершите работу с редактором.

  8.  Перезагрузите компьютер.

Теперь компьютер настроен на отправку широковещательного запроса к контроллеру домена, и только после такого запроса рабочая станция будет обращаться к серверам преобразования имен. Если сервер WINS не предоставил адреса контроллеров домена или вообще отсутствует, будет использован файл LMHOSTS. Следующим этапом является редактирование файла LMHOSTS.

  1.  Найдите файл LMHOSTS:

dir %systemroot%\system32\drivers\etc\lmhosts

  2.  Если файл не существует, скопируйте тестовый пример этого файла:

copy %systemroot%\system32\drivers\etc\lmhosts.sam %systemroot%\system32\drivers\etc\lmhosts

  3.  Отредактируйте файл с помощью редактора EDIT.EXE. Не используйте редактор Блокнот (NOTEPAD.EXE):

edit %systemroot%\system32\drivers\etc\lmhosts

  4.  Перейдите к завершающей строке комментариев и добавьте строку следующего формата:

<адрес ip> <имя DC> #PRE #DOM:<имя домена> #<комментарий>

Например:

200.200.200.50 lohanik #PRE #DOM:microsoft #microsoft domain controller

  5.  Сохраните изменения, внесенные в файл и закройте редактор EDIT.EXE.

  6.  Перезагрузите файл LMHOSTS (или сам компьютер):

NBTSTAT – R

Параметр – R необходимо указывать в верхнем регистре, поскольку программа NBTSTAT чувствительна к используемому регистру.

  7.  Проверьте содержимое кэша имен:

NBTSTAT – C

  8.  На этом этапе настройка завершается и можно перезагрузить компьютер.

Утилита SETPRFDC.EXE используется для предоставления клиенту, использующему защищенный канал связи, предпочтительного списка контроллеров домена. Утилита имеет следующий синтаксис:

SETPRFDC <Имя домена> <DC1, DC2, ……, DCn>

Утилита SETPRFDC попытается подключится к каждому контроллеру домена в перечисленном порядке, пока не будет организован безопасный канал связи. Если первый контроллер домена не отвечает, осуществляется попытка связаться со вторым контроллером домена и т.д. После запуска утилиты SETPRFDC в системе под управлением Windows список доменов сохраняется до последующего изменения. Утилиту SETPRFDC можно запустить с помощью командного файла, службы Планировщик заданий (Scheduler) или даже сценария регистрации (для будущих регистраций). Не забудьте удалить ранее указанные записи в файле LMHOSTS.