Freigeben über


Как удаленно перезагрузить контроллер домена 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

Контроллер перезагрузится в штатном режиме.