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

Как известно - все контроллеры домена в Active Directory равнозначны, но у некоторых из них есть особые функции, которые должны быть уникальны в пределах домена или леса. Это хозяева операций или FSMO-роли, которые отвечают за ряд критически важных операций, но при этом практически не участвуют в повседневной жизни службы каталогов. Для управления хозяевами предусмотрены различные инструменты, начиная от оснасток MMC и заканчивая инструментами PowerShell, о которых сегодня и поговорим.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Почему именно PowerShell? На наш взгляд - это наиболее удобный способ управления ролями FSMO на сегодняшний день. К недостаткам можно отнести разве что непривычный русскоязычному администратору многословный синтаксис. В остальном - только плюсы, PowerShell позволяет передать, либо захватить, роли буквально одной командой.

Для начала немного освежим память и вспомним какие бывают роли FSMO, заодно приведем их наименования в PowerShell.

На уровне леса это:

  • Хозяин именования домена - DomainNamingMaster - отвечает за уникальность доменных имен в лесу
  • Хозяин схемы - SchemaMaster - отвечает за уникальность и непротиворечивость схемы.

На уровне домена:

  • Хозяин инфраструктуры - InfrastructureMaster - отвечает за обеспечение информации об объектах иного домена леса входящих в состав локальных групп текущего домена.
  • Хозяин относительных идентификаторов - RIDMaster - отвечает за выдачу уникальных идентификаторов безопасности - SID
  • Эмулятор первичного контроллера домена - PDCEmulator - достаточно важная роль, отвечает за репликацию паролей, изменения GPO и DFS, а также служит эталоном времени домена.

Отдельного замечания стоит роль Хозяина инфраструктуры, если у вас только один домен в лесу или все контроллеры являются глобальными каталогами, то данная роль становится бесполезна. В противном случае она не должна располагаться на глобальном каталоге, так как в этом случае окажется неработоспособной.

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

1Get-ADForest interface31.lab | ft DomainNamingMaster, SchemaMaster

которая покажет хозяев операций уровня леса для домена interface31.lab и команду:

1Get-ADDomain interface31.lab | ft InfrastructureMaster, PDCEmulator, RIDMaster

для выяснения расположения хозяев уровня домена.

Для передачи роли выполните:

1Move-ADDirectoryServerOperationMasterRole -Identity "SRV-DC-20-02" -OperationMasterRole DomainNamingMaster, SchemaMaster

Где в опции -Identity укажите имя нового хозяина, а в -OperationMasterRole перечислите через запятую все передаваемые роли. Данную команду можно выполнить на любом контроллере домена, в том числе на том, который не является ни старым, ни новым хозяином. Указанной выше командой мы передали контроллеру SRV-DC-20-02 роли Хозяина именования домена и Хозяина схемы.

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

1Move-ADDirectoryServerOperationMasterRole -Identity "SRV-DC-20-02" -OperationMasterRole DomainNamingMaster, SchemaMaster, RIDMaster, PDCEmulator, InfrastructureMaster -Force
Внимание!

Важно! После захвата ролей их старый хозяин ни в коем случае не должен снова появляться в сети!

Как видим, PowerShell действительно позволяет выполнять задачи по управлению ролями FSMO гораздо быстрее и проще, чем утилита Ntdsutil, не говоря уже об оснастках MMC.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал