При создании домена, по умолчанию все роли FSMO назначаются первому контроллеру домена в лесу. В дальнейшем перенести роли FSMO между контроллерами домена можно с помощью графических оснасток Active Directory или из командной строки.
В этой статье мы покажем, как перенести FSMO роли с помощью командлетов PowerShell. Преимущества такого способа передачи ролей:
- Не нужно подключаться оснасткой MMC к будущему владельцу роли
- Передача или захват ролей FSMO не требует наличия подключения к текущему или новому владельцу роли. Для работы понадобится только модуль AD-PowerShell, установленный на любом клиенте или сервере (нужно установить пакет RSAT)
- Для захвата FSMO роли, если текущий владелец не доступен, нужно использовать дополнительный параметр -force
Чтобы получить текущих владельцев ролей Владелец схемы и Владелец доменных имён в лесу, нужно выполнить команду PoSh:
Get-ADForest contoso.com| ft DomainNamingMaster, SchemaMaster
Чтобы получить владельцев ролей Владелец относительных идентификаторов, Эмулятор основного контроллера домена и Владелец инфраструктуры домена в домене, выполните:
Get-ADDomain contoso.com | ft InfrastructureMaster, PDCEmulator, RIDMaster
Для передачи ролей FSMO между контроллерами Active Directory нужно использовать командлет PowerShell Move-ADDirectoryServerOperationMasterRole.
Для его использования нужно, чтобы инфраструктура домена и система, с которой запускается команда, удовлетворяла следующим условиям:
- В домене должен быть как минимум один DC с ОС Windows Server 2008 R2 или выше
- Установлен PowerShell 3.0 или выше
- В сессии PowerShell должен быть импортирован модуль Active Directory (2.0 или более новый)
Импортируется модуль Active Directory, следующей командой:
Import-Module ActiveDirectory
Совет. В Windows Server 2012 и выше, модуль Active Directory для PowerShell загружается в сессию PoSh автоматически
В отличии от утилиты Ntdsutil.exe командлет переноса ролей FSMO с помощью Move-ADDirectoryServerOperationMasteRole может быть выполнен с любого контроллера домена (при наличии прав Domain admins и Enterprise Admins).
К примеру, для передачи роли эмулятора PDC на контролер домена с именем dc2, воспользуйтесь командой:
Move-ADDirectoryServerOperationMasterRole -Identity "dc2" PDCEmulator
Можно перенести сразу несколько ролей за один раз:
Move-ADDirectoryServerOperationMasterRole -Identity “dc2” –OperationMasterRole DomainNamingMaster,PDCEmulator,RIDMaster,SchemaMaster,InfrastructureMaster
Совет. Для упрощения команды, можно заменить имена ролей FSMO на их числовые аналоги от 0 до 4. Таблица соответствии ролей и номеров приведена ниже:
PDCEmulator | 0 |
RIDMaster | 1 |
InfrastructureMaster | 2 |
SchemaMaster | 3 |
DomainNamingMaster | 4 |
Таким образом, предыдущую команду можно заменить на более компактную:
Move-ADDirectoryServerOperationMasterRole “dc2” –OperationMasterRole 0,1,2,3,4
После ввода команды передачи, появится окно, в котором нужно подтвердить свои действия.
В том случае, если текущий владелец роли вышел из строя, принудительно передать (захватить) FSMO роли можно с помощью той же команды с ключом –Force.
Move-ADDirectoryServerOperationMasterRole -Identity “dc2” –OperationMasterRole DomainNamingMaster,PDCEmulator,RIDMaster,SchemaMaster,InfrastructureMaster –Force
Важно. После захвата ролей FSMO, контроллер домена с которого были захвачены роли, никогда более не должен появляться в домене.
Как вы видите, процесс передачи ролей FSMO с помощью PowerShell выполняется довольно просто.