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

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: Active Directory, FSMOPowershell.

В Active Directory Domain Services представлено 5 хозяев операций или FSMO-ролей:

  • Schema Master (Мастер схемы).
  • Domain Naming Master (Мастер доменных имён).
  • RID Master (Мастер относительных идентификаторов).
  • PDC Emulator (Эмулятор основного контроллера).
  • Infrastructure Master (Мастер инфраструктуры).

Ниже представлен базовый список команд на Powershell, который чаще всего применяется для управления данными ролями.

Просмотр

Узнать FSMO-роли мастеров уровня леса:

Get-ADForest dmosk.local | ft DomainNamingMaster, SchemaMaster

* в данном примере, на экран будут выведены имена серверов с ролями для домена dmosk.local.

Просмотр мастеров уровня домена:

Get-ADDomain dmosk.local | ft InfrastructureMaster, PDCEmulator, RIDMaster

* для домена dmosk.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.dmosk.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 domain naming master
  • seize pdc
  • seize rid master
  • seize infrastructure master

Для выхода вводим quit.

Возможные ошибки

Рассмотрим ошибки, с которыми столкнулся я.

Move-ADDirectoryServerOperationMasterRole : Отказано в доступе

При попытке передать роль мы получаем ошибку прав доступа.

Причина: для данной операции учетная запись, под которой мы работает должна иметь нужные права доступа. Для этого пользователь должен входить в группы:

  • Schema Master — Администратор схемы.
  • Domain Naming Master — Администратор предприятия.
  • RID Master — Администратор домена.
  • PDC Emulator — Администратор домена
  • Infrastructure Master — Администратор домена

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

# Active Directory # Powershell # Windows # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет