Вопрос: «В моем домене, состоящем из множества серверов Windows 2000, имеющем несколько контроллеров домена, я установила еще один (контроллер), но неверно. Он идентифицируется как Servtst., а основного суффикса DNS — tom.ru — на нем нет. Какое-то время реплика между контроллерами проходила, а потом не стала. Предприняв несколько попыток удаления записей из DNS, удаления самого DNS и т. д., я наконец-то обнаружила отсутствие основного суффикса и решила понизить роль сервера до рядового, а затем ввести его снова в домен.

Не тут-то было! Поскольку репликация с другими серверами не работает, понизить его роль не удается, ведь он шлет исходящую реплику и ожидает ее успешного завершения. После долгой преамбулы — вопрос: можно ли понизить роль вторичного контроллера домена до рядового, не удаляя реплики с сервера?»
Юлия, JulKn@mail.ru

Ответ: «Принудительное удаление Active Directory с контроллера домена возможно, однако стоит все же для начала попытаться восстановить связь между контроллерами и удалить AD корректно. Чтобы добавочный контроллер «увидел» основной, сделайте следующее: поскольку Primary DNS Suffix у вас отсутствует, а изменить его вручную на контроллере домена действительно невозможно, создайте вместо этого суффикс на сетевой карте. Откройте свойства сетевой карты на добавочном контроллере, который хотите «понизить», далее свойства TCP/IP, кнопка Advanced, вкладка DNS, поле DNS Suffix for this connection. Впишите туда полное имя Вашего домена и отметьте вариант Use this connection?s DNS suffix for DNS registration. В качестве адреса DNS укажите адрес того DNS, которым пользуется основной контроллер домена. Перезагрузите контроллер и попробуйте еще раз запустить DCPROMO.EXE и удалить AD.

Если так не получится, придется удалять AD принудительно. В Windows 2003, например, для этого есть очень простое средство: запуск DCPROMO.EXE с ключом /FORCEREMOVAL, который выполняет удаление AD, независимо от состояния связи с другими контроллерами домена. Однако в Windows 2000 такой возможности пока нет. Разработчики Microsoft обещают реализовать ее в Service Pack 4 для Windows 2000 или в соответствующем оперативном исправлении под номером Q332199, которое тоже еще не выпущено. Подробную информацию об этом можно найти в Knowledge Base, ст. Q332199.

Для тех же, кто не может ждать выхода соответствующих исправлений, я могу предложить два способа удаления AD с контроллера домена Windows 2000 — один простой и один сложный. Простой способ заключается в том, что рабочие файлы реестра, находящиеся в папке WinntSystem32Config (реестр — это все файлы в данной папке, не имеющие расширения), необходимо удалить и заменить резервными копиями из папки WinntRepair. На работающей машине это сделать невозможно — файлы реестра блокированы, поэтому компьютер нужно выключить и получить доступ к диску иным способом. Например, извлечь жесткий диск, вставить его в другой компьютер с операционной системой Windows 2000. Или (что удобнее) загрузиться с установочного компакт-диска с Windows 2000 Server, выбрать вместо установки системы режим Repair, запустить Recovery Console (специальная DOS-подобная оболочка для ремонта и восстановления системы) и выполнить копирование реестра командой copy. Способ копирования значения не имеет. Естественно, прежде чем стирать основные файлы реестра из папки WinntSystem32Config, нужно обязательно создать резервные копии — возможно, Вы захотите потом вернуть все назад.

Что при этом произойдет? Файлы в папке WinntRepair — это резервная копия реестра, созданная системой сразу после установки. После замены текущего реестра данными файлами происходит возврат системы в «стартовое» состояние, и Вы получаете работоспособный сервер (без Active Directory, естественно). Однако весь реестр будет потерян, и все программное обеспечение придется устанавливать заново. Пароль встроенной учетной записи администратора восстановится тот, который вы выбирали в первый раз в процессе установки сервера. Прочие учетные записи будут потеряны. Фактически такой метод по разрушительным последствиям почти идентичен полной переустановке операционной системы, но зато занимает значительно меньше времени.

Второй способ весьма сложен (!) и требует знания структуры AD, однако позволяет выполнить удаление AD без потери реестра. Суть его в том, что контроллер нужно отключить от локальной сети и вручную отредактировать содержимое AD на нем таким образом, чтобы компьютер оказался последним и единственным контроллером домена. Для этого необходимо удалить из AD все ссылки на другие контроллеры и дочерние домены, если они есть, после чего утилита DCPROMO.EXE удалит AD без проблем. Способ пригоден только для контроллеров корневого домена! Я рекомендую его лишь опытным администраторам, поскольку возможны какие-то ошибки, исправление которых потребует четкого понимания смысла выполняемых операций. По этой же причине опишу последовательность действий лишь в общих чертах.

На «понижаемом» контроллере нужно выполнить следующие шаги (все действия производятся только под учетной записью администратора домена).

  1. Запустить NTBACKUP.EXE и создать резервную копию объекта System State. Объект System State включает в себя AD и позволяет выполнить возврат к исходному состоянию, если что-то пойдет не так. Это необязательно, но желательно.
  2. Отключить контроллер от локальной сети, чтобы изменения в AD не были случайно тиражированы на другие контроллеры.
  3. Если на контроллере не установлена служба DNS, ее нужно установить, создать зону с именем, совпадающим с именем вашего домена, включить в свойствах зоны динамическое обновление (Dynamic Update) и настроить сетевую карту контроллера на работу только со своим DNS.
  4. Сделать контроллер глобальным каталогом (Global Catalog) при помощи утилиты Active Directory Sites and Services, иначе он впоследствии откажется взять на себя роль Domain Naming Master. После этого желательно перезагрузиться.
  5. Запустить NTDSUTIL.EXE, войти в режим Roles и выполнить захват пяти ролей: PDC emulator, RID master, infrastructure master, schema master, domain naming master. (Подробнее о ролях контроллеров доменов в инфраструктуре AD рассказано в Knowledge Base, ст. Q197132, а процесс их захвата при помощи NTDSUTIL.EXE описан в ст. Q255504.) Если в результате попытки захватить роль domain naming master Вы получите сообщение о том, что операция невозможна, поскольку контроллер не является глобальным каталогом, значит, глобальный каталог включен, но все еще не активен. Придется подождать некоторое время (иногда довольно долго) и попробовать еще раз.
  6. После захвата всех пяти ролей необходимо выполнить очистку Active Directory. Cначала нужно удалить все «лишние» контроллеры (кроме своего, естественно), а затем все дочерние домены, если они есть. Дочерние домены удаляются только после ликвидации их контроллеров. Это можно сделать либо при помощи NTDSUTIL.EXE в режиме Metadata Cleanup, либо при помощи редактора AD под названием ADSI Edit, входящего в состав пакета Windows 2000 Support Tools. Данный пакет находится на установочном компакт-диске с системой Windows 2000 Server в каталоге SupportTools. Процесс удаления доменов и контроллеров из AD описан в Knowledge Base, ст. Q216498 и Q230306. Если что-то не удаляется, значит, либо Вы захватили не все роли в пункте 5 (вернитесь и повторите), либо пытаетесь удалить свой собственный контроллер и свой же домен. Делать этого не нужно. Удаление последнего контроллера и последнего домена — задача DCPROMO.EXE.

Если Вы успешно выполнили все перечисленные выше шаги, то Вас можно поздравить — Ваш сервер стал последним контроллером последнего домена. Запустите DCPROMO.EXE, отметьте вариант This server is the last domain controller in the domain, и AD должна удалиться без проблем.

Последнее замечание. При любом способе принудительного удаления AD с добавочного контроллера (а также при полной его переустановке) ссылки на него остаются в той копии Active Directory, которая хранится на основном контроллере. Их можно удалить с помощью процедуры, описанной в пункте 6, однако намного проще заново запустить на сервере DCPROMO.EXE и еще раз сделать его добавочным контроллером домена. Active Directory без особых возражений допускает создание новых контроллеров взамен не существующих более старых, если у них совпадают имена. «Чистить» AD в этом случае не нужно — старые объекты стираются автоматически. То же самое, кстати, касается «потерянных» дочерних доменов, образовавшихся в результате ликвидации их контроллеров. Вместо удаления таких доменов из AD, их тоже можно создать заново с теми же именами.

Только чтобы у Вас больше не было проблем с Primary DNS Suffix, перед запуском DCPROMO.EXE для повторной установки контроллера я рекомендую открыть Start -> Settings -> Control Panel -> System -> Network Identification -> Properties -> More и вписать туда Ваш суффикс (имя домена) вручную. Или просто отметьте там же параметр Change primary DNS suffix when domain membership changes — именно его отсутствие, судя по всему, и послужило причиной всех неприятностей, описанных в Вашем письме».

Сергей Мороз — преподаватель Учебного центра информационных технологий Академии народного хозяйства при Правительстве РФ. Имеет сертификаты MCSE, MCT. С ним можно связаться по адресу: SergeyM@ane.ru.