Решил себе поставить тривиальную задачу для самообразования. Суть такова на работе 2 контроллера домена, и думаю дайка я дома раскатаю в виртуалке себе рабочий контроллер домена, благо железо Intel S1200BTL и на борту 32 гига памяти, в довесок ко всему этому ESXI 5+SP1. Ну сказано, сделано. Тем более второй контроллер домена на работе тоже крутился в виртулке только в 4-ой версии, но не суть.
- Ставим систему, желательно с того же диска, у меня под рукой его не было. Взял аналогичную сборку, накатил по возможности обновил.
- dcpromo запускаем установку роли контроллера домена, вбиваем все тоже самое что и на работе, главное один в один, включая настройки сети только ДНС желательно сделать 127.0.0.1
- Как установили, задали пароль на восстановление, либо при загрузке жмем F8 и грузимся в режиме восстановления службы каталогов, либо через boot.ini Safe Boot — DSRepair.
- В режиме восстановления берем наш ntbackup и разворачиваем, соглашаемся на все изменения.
- Грузимся в обычном режиме.
- Думал что все так просто, но нет система никого кроме Администратора не пускает, ругаясь на множественные повреждения и т.д. Ибо ни одна из оснасток службы каталогов не заработала, все падали с ошибкой что контроллер домена не доступен
После внимательного просмотра логов стало очевидно что просто напросто служба каталогов не может нормально стартонуть. Потому как основного контроллера домена нет. Да наш контроллер домена не может зять на себя роли, ну деать то некуда, останавливаться не привыкли. NTDSUTIL в руки и вперед:
- Определяем текущих владельцев ролей fsmo.
Это достаточно просто сделать, использовав следующие команды (Во всех случаях вываливается ошибка о невозможности найти хозяина операций, оно не удивительно 😆 ):
dsquery server –hasfsmo schema
dsquery server – hasfsmo name
dsquery server – hasfsmo rid
dsquery server – hasfsmo pdc
dsquery server – hasfsmo infr
dsquery server –forest -isgc - У Active Directory есть два способа передать роли: 1. Добровольная передача ролей и понижение старого сервера до рядового сервера, 2. Принудительный захват ролей когда основной контроллер домена не доступен (что и требуется в нашем случае).
- И так принудительный захват ролей.ntdsutil.exe
roles
connections
connect to server имя_сервера (он у нас всего один, теперь один)
q - После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и мы можем начать принудительно захватывать роли :
— transfer domain naming master
— transfer infrastructure master
— transfer rid master
— transfer schema master
— transfer pdc master - Вот только почему то transfer ird master и transfer pdc master отвалились с ошибкой, то ли не в том порядке то ли еще что-то. После ребута начал прогонять еще раз мне было сказано что все ОК.
- Осталось только подправить ДНС удалить старый контроллер домена, но перед правкой его надо еще также более менее корректно удалить благо в этом опыт тоже есть.
- Есть замечательна статья в базе данных microsoft KB216498 приведу пример для нашего случая:
- В командной строке введите ntdsutil и нажмите клавишу ВВОД.
- Введите metadata cleanup и нажмите клавишу ВВОД. Для фактического выполнения удаления необходимо указать дополнительные параметры.
- Введите команду connections и нажмите клавишу ВВОД. Это меню предназначено для подключения к серверу, на котором происходят изменения. Если текущий пользователь не обладает правами администратора, перед подключением следует указать другую учетную запись. Для этого введите команду set creds имя_доменаимя_пользователяПароль и нажмите клавишу ВВОД.
- Введите команду connect to server имя_сервера и нажмите клавишу ВВОД. Появится сообщение о подключении к серверу.
- Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
- Введите команду select operation target и нажмите клавишу ВВОД.
- Введите команду list domains и нажмите клавишу ВВОД. Появится список доменов леса с номерами.
- Введите команду select domain номер и нажмите клавишу ВВОД, где номер – номер домена, которому принадлежит удаляемый сервер. Выбранный домен используется для проверки того, является ли удаляемый сервер последним контроллером в этом домене.
- Введите команду list sites и нажмите клавишу ВВОД. Появится список узлов с номерами.
- Введите команду select site номер и нажмите клавишу ВВОД, где номер – номер узла, которому принадлежит удаляемый сервер. Появится подтверждение выбранного домена и узла.
- Введите команду list servers in site и нажмите клавишу ВВОД. Появится список серверов узла с номерами.
- Введите команду select server номер, где номер – номер удаляемого сервера. Появится подтверждение, которое содержит имя выбранного сервера, его DNS-имя и местонахождение учетной записи.
- Введите команду quit и нажмите клавишу ВВОД. Появится меню Metadata Cleanup.
- Введите команду remove selected server и нажмите клавишу ВВОД. Должно появиться сообщение об успешном удалении сервера.
- Ну, а далее чистим ДНС все удаляем что было связанно со старым, погибшем контроллером домена.
- Меняем настройки сетевой карты ставим в качестве ДНС сервера нормальный адрес нашего контроллера домена т.е самого себя.
- Перезагружаемся и наслаждаемся, ибо всех пускает оснастки заработали.
Вот как то примерно так, в следующий раз. Буду пробовать произвести апгрейд на 2008R2. Единственный минус всего этого восстановления кривизна идет потому как восстанавливается реестр, и если стоял софт, к примеру стоял антивирус nod32 пришлось его чистить утилитой, + чтобы поставить windows support tools требуется оригинальный диск с которого ставился сервер погибший. Но это уже мелочи, ведь можно поднять и даже надо поднимать еще один контроллер домена и на него корректно передать все роли, а этот погасить и вывести.