Для работы с ролями FSMO есть несколько командлетов Powershell. Для начала узнаем на каком сервере находятся наши роли.
Для ролей в рамках домена:
Get-ADDomain | Select-Object -Property RIDMaster, PDCEmulator, InfrastructureMaster | fl
Для ролей в рамках леса:
Get-ADForest | Select-Object -Property SchemaMaster, DomainNamingMaster
Либо одной командой:
Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles | Where-Object {$_.OperationMasterRoles}
Для передачи ролей FSMO в Powershell есть команда:
Move-ADDirectoryServerOperationMasterRole -OperationMasterRole 1,2,3 -Identity AD2
Где:
-OperationMasterRole - тут указывается номер FSMO роли или ее название
-Identity - куда перемещаем
Если используем номера, вот таблица сопоставления:
В этом командлете есть так же дополнительные ключи, которые могут пригодиться:
-Credential - Если мы делаем передачу ролей FSMO под другим пользователем
-AuthType - со значением 0 т.е. Negotiate (по умолчанию) и 1 т.е. Basic
-Server - для подключения к другим экземплярам
-Force
При передаче у меня была ошибка:
Move-ADDirectoryServerOperationMasterRole : The directory service is unavailable
И она решилась ключом -Force. Так же ее получалось избежать, когда я запустил командлет находясь на другом сервере.
Если мы хотим выполнить захват через Powershell под другой учетной записью, то это делается так:
$cred = Get-Credential
Move-ADDirectoryServerOperationMasterRole -OperationMasterRole SchemaMaster -Identity AD -Verbose -Force -Credential $cred
...
Подписывайтесь на наш Telegram канал
Теги: #powershell #ad