Управление FSMO ролями Active Directory с помощью Powershell

Тематические термины: 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 и последовательно вводим:

  1. roles
  2. connections
  3. connect to server <имя сервера>
  4. 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 — Администратор домена

Решение: проверяем, в каких группах состоит пользователь, под которым мы работает. Если обнаружили несоответствие, то либо входим в систему под другим пользователем с нужными правами, либо добавляем текущего пользователя в соответствующую группу.

EnglishRussianUkrainian