Как удаленно перезагрузить контроллер домена Windows 2003 в DSRM
Порой возникают ситуации, когда приходится администрировать инфраструктуры удаленно. Долго ли, коротко ли, приходит время перезагрузить контроллер домена в Directory Services Restore Mode (DSRM). Если контроллер доступен, т.е. ситуация не внештатная (например, необходимо перенести базу AD на другой диск), всё можно элегантно сделать не выезжая на точку. Поможет нам в этом утилита bootcfg. Подключаемся к контроллеру с полномочиями администратора домена.
Часть 1. Подготовительные действия.
Шаг 1. Смотрим содержимое файла boot.ini:
bootcfg / sимя_контроллера / query
Boot Loader Settings
——————–
timeout:30
default:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
————
Boot entry ID: 1
OS Friendly Name: Windows Server 2003 Enterprise x64 Edition
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Шаг 2. Добавляем строку загрузки для DSRM:
bootcfg / sимя_контроллера / copy / id 1 / d “ DSRM ”
SUCCESS: Made a copy of the boot entry “1″
Теперь записей в boot.ini две:
bootcfg /s имя _ контроллера /query
Boot Loader Settings
——————–
timeout:30
default:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
————
Boot entry ID: 1
OS Friendly Name: Windows Server 2003 Enterprise x64 Edition
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Boot entry ID: 2
OS Friendly Name: DSRM
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Шаг 3. Добавляем ключ загрузки в DSRM для второй записи
bootcfg /s имя _ контроллера /raw “/SAFEBOOT:DSREPAIR” /a /id 2
SUCCESS: Added the switch to OS entry for line “2″ in the BOOT.INI file.
Теперь вторая запись в boot.ini имеет дополнительный ключ:
bootcfg /s имя _ контроллера /query
Boot Loader Settings
——————–
timeout:30
default:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
————
Boot entry ID: 1
OS Friendly Name: Windows Server 2003 Enterprise x64 Edition
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Boot entry ID: 2
OS Friendly Name: DSRM
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect /safeboot:dsrepair
Собственно, всё. В качестве полировки можно изменить дефалтное время выбора варианта загрузки с 30 секунд до, предположим, пяти:
bootcfg / sимя_контроллера / timeout 5
SUCCESS: Changed the timeout value in the BOOT.INI.
bootcfg /s имя _ контроллера /query
Boot Loader Settings
——————–
timeout:5
default:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
————
Boot entry ID: 1
OS Friendly Name: Windows Server 2003 Enterprise x64 Edition
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Boot entry ID: 2
OS Friendly Name: DSRM
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect /safeboot:dsrepair
Часть 2. Перезагрузка.
Перед перезагрузкой сервера в DSRM необходимо обозначить в качестве загрузки по умолчанию второй, только что созданный вариант «DSRM»:
bootcfg / sимя_контроллера / default / id 2
SUCCESS: Changed the default OS entry in the BOOT.INI.
Проверяем результат:
bootcfg /s имя _ контроллера /query
Boot Loader Settings
——————–
timeout:5
default:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
Boot Entries
————
Boot entry ID: 1
OS Friendly Name: DSRM
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect /safeboot:dsrepair
Boot entry ID: 2
OS Friendly Name: Windows Server 2003 Enterprise x64 Edition
Path: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
OS Load Options: /noexecute=optout /fastdetect
Выполняем перезагрузку контроллера:
shutdown /r /t 10 /f
Часть 3. Работы в DSRM.
Терминальные службы работают в DSRM. После старта системы можно зайти в нее под логином и паролем администратора восстановления и произвести требуемые действия. Предположим, мне необходимо провести сжатие и дефрагментацию базы AD и ее перемещение на другой диск.
ntdsutil –> files –> info –> compact to C:\NTDS.NEW –> quit –> quit
copy “C:\NTDS.NEW\ntds.sit” “C:\WINDOWS\NTDS\ntds.dit” (owerwrite = yes)
del C:\WINDOWS\NTDS\*.log
ntdsutil –> files –> info –> move db to D:\NTDS
move logs to D:\NTDS
quit –> quit
delete C:\NTDS.NEW
Теперь, когда работы завершены, необходимо вернуть первоначальную конфигурацию загрузки в boot.ini, чтобы после перезагрузки контроллер поднялся в рабочем режиме. Для этого выполняем команды:
bootcfg / sимя_контроллера / query
bootcfg / sимя_контроллера / default / id 2
shutdown / r / t 10 / f
Контроллер перезагрузится в штатном режиме.