Тематические термины: Active Directory , FSMO , Powershell .
В Active Directory Domain Services представлено 5 хозяев операций или FSMO-ролей:
- Schema Master (Мастер схемы).
- Domain Naming Master (Мастер доменных имён).
- RID Master (Мастер относительных идентификаторов).
- PDC Emulator (Эмулятор основного контроллера).
- Infrastructure Master (Мастер инфраструктуры).
Ниже представлен базовый список команд на Powershell, который чаще всего применяется для управления данными ролями.
Просмотр ролей и серверов с данными ролями
Передача ролей на другой сервер
Захват роли
Решение возможных проблем
Просмотр
Узнать FSMO-роли мастеров уровня леса:
Get-ADForest remontka.local | ft DomainNamingMaster, SchemaMaster
* в данном примере, на экран будут выведены имена серверов с ролями для домена remontka.local .
Просмотр мастеров уровня домена:
Get-ADDomain remontka.local | ft InfrastructureMaster, PDCEmulator, RIDMaster
* для домена remontka.local система отобразит сервера, на которых работают RID мастер , мастер инфраструктуры и PDC эмулятор .
P.S. Можно также посмотреть список ролей и серверов, которые их выполняют командой:
netdom query fsmo
Передача
Передачу мы делаем с сервера, на котором в данный момент находится роль.
Передать одну FSMO-роль на другой контроллер домена:
Move-ADDirectoryServerOperationMasterRole «dc2» PDCEmulator
* в примере будет перенесена роль PDC эмулятор на сервер с именем dc2 .
Перенести несколько ролей:
Move-ADDirectoryServerOperationMasterRole -Identity «dc1» -OperationMasterRole DomainNamingMaster, SchemaMaster, RIDMaster, PDCEmulator, InfrastructureMaster
* команда передаст все 5 ролей на сервер dc1 .
Захват
Захват выполняется в тех случаях, когда контроллер домена выходит из строя и его нельзя восстанавить. Таким образом, передать роль невозможно из-за отсутствия носителя FSMO.
Powershell
Как и с переносом, мы можем воспользоваться Powershell с добавлением опции Force :
Move-ADDirectoryServerOperationMasterRole -Identity «dc3» -OperationMasterRole DomainNamingMaster, SchemaMaster, RIDMaster, PDCEmulator, InfrastructureMaster -Force
* в данном примере мы собираемся перенести все роли на сервер dc3 .
… на запрос точно ли мы хотим перенести роль мастера, ответим «Да для всех» (A):
Move Operation Master Role
Do you want to move role ‘DomainNamingMaster’ to server ‘dc3.remontka.local’ ?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is «Y»): A
NTDSUTIL
Также можно выполнить захват роли с помощью утилиты NTDSUTIL . Это акажется актуальным для серверов с устаревшей (или отсутствующей) версией Powershell, которая не позволит сделать захват.
Для этого на контроллере домена запускаем команду ntdsutil и последовательно вводим:
- roles
- connections
- connect to server <имя сервера>
- quit
Теперь вводим команду для захвата конкретной роли:
- seize schema master
- seize naming master
- seize pdc
- seize rid master
- seize infrastructure master
Для выхода вводим quit .
Возможные ошибки
Рассмотрим ошибки, с которыми столкнулся я.
Move-ADDirectoryServerOperationMasterRole : Отказано в доступе
При попытке передать роль мы получаем ошибку прав доступа.
Причина: для данной операции учетная запись, под которой мы работает должна иметь нужные права доступа. Для этого пользователь должен входить в группы:
- Schema Master — Администратор схемы.
- Domain Naming Master — Администратор предприятия.
- RID Master — Администратор домена.
- PDC Emulator — Администратор домена
- Infrastructure Master — Администратор домена
Решение: проверяем, в каких группах состоит пользователь, под которым мы работает. Если обнаружили несоответствие, то либо входим в систему под другим пользователем с нужными правами, либо добавляем текущего пользователя в соответствующую группу.