Поиск по сайту
Интересуешься IT и системным администрированием? Подпишись на наш канал, где мы делимся инсайдами, новостями и практическими советами! Прокачай свои навыки вместе с нами!
Как перенести роли FSMO в Active Directory
После того как в инфраструктуре появился второй контроллер домена, часто возникает необходимость перенести роли FSMO на новый сервер. Это может быть связано с выводом старого DC из эксплуатации, модернизацией оборудования, балансировкой нагрузки или просто приведением структуры домена к рекомендациям Microsoft.
В этой статье мы подробно рассмотрим, как выполнить перенос ролей FSMO на другой контроллер домена двумя способами: через PowerShell и через графический интерфейс (GUI).
Процесс переноса ролей простой и безопасный, если выполняется правильно — а не путать с seize (захватом ролей), который используется только в аварийных ситуациях. Здесь мы будем делать именно корректный перенос (transfer).
Онлайн-курс: Планирование и установка Exchange Server 2016 с нуля до запуска в Production.
Курс охватывает все ключевые аспекты управления почтовым сервером: от установки и настройки до обеспечения безопасности и автоматизации. Курс подходит как для начинающих, так и для опытных администраторов.
Содержание:
- Сколько существует ролей FSMO
- Зачем переносить роли FSMO
- Перенос ролей FSMO через PowerShell
- Получение текущих владельцев FSMO
- Вариант 1: перенос каждой роли отдельно
- Вариант 2: перенос всех ролей одной командой
- Перенос ролей FSMO через графический интерфейс (GUI)
- Захват ролей FSMO (Seize FSMO roles) в аварийных ситуациях
- Заключение
Сколько существует ролей FSMO
В Active Directory есть пять ролей FSMO, и каждая отвечает за определённые функции:
- PDC Emulator — одна на домен
- RID Master — одна на домен
- Infrastructure Master — одна на домен
- Schema Master — одна на лес
- Domain Naming Master — одна на лес
Эти роли распределяются между контроллерами домена и обеспечивают корректную работу каталога.
Более подробно разбор назначения каждой роли можно посмотреть в статье: Проверка ролей FSMO в Active Directory
Зачем переносить роли FSMO
Перенос ролей FSMO требуется в ситуациях, когда контроллер домена, который их удерживает, меняет своё состояние или роль в инфраструктуре. Наиболее частые случаи:
- Планируется понижение (demote) контроллера домена. Перед удалением DC роли должны быть переданы на другой сервер.
- Изменение IP-адреса контроллера. Чтобы избежать проблем с репликацией и обнаружением сервисов, роли безопаснее перенести заранее.
- Техническое обслуживание или временное отключение сервера. Если DC с ролями будет недоступен, некоторые критичные операции в AD могут быть нарушены.
- Обновление операционной системы. Перед переустановкой или обновлением DC до новой версии Windows роли передают на другой сервер.
- Проблемы с производительностью или нагрузкой. Иногда целесообразно перераспределить роли между DC для стабильности.
Иными словами, если контроллер домена, на котором сейчас находятся роли FSMO, планируется отключить, обновить или вывести из эксплуатации — эти роли нужно заранее перенести на другой рабочий контроллер.
Перейдём к практической части и рассмотрим, как перенести роли FSMO в Active Directory через PowerShell и через графический интерфейс (GUI).
Перенос ролей FSMO через PowerShell
Сначала необходимо вывести текущих владельцев ролей FSMO. После этого можно выполнить перенос — либо каждой роли отдельно, либо всех ролей одной командой. Оба варианта корректны и работают одинаково надёжно.
Получение текущих владельцев FSMO
Выполните команду Get-ADDomain, чтобы получить роли RID Master, PDC Emulator и Infrastructure Master:
Get-ADDomain | fl PDCEmulator,RIDMaster,InfrastructureMaster
Пример вывода:
PDCEmulator : DC01-2019.exoip.local
RIDMaster : DC01-2019.exoip.local
InfrastructureMaster : DC01-2019.exoip.local
Выполните команду Get-ADForest, чтобы получить роли Schema Master и Domain Naming Master:
Get-ADForest | fl SchemaMaster,DomainNamingMaster
Пример вывода:
SchemaMaster : DC01-2019.exoip.local
DomainNamingMaster : DC01-2019.exoip.local
Вариант 1: перенос каждой роли отдельно
Переносим роли FSMO по одной с помощью команды Move-ADDirectoryServerOperationMasterRole.
PDCEmulator (код роли — 0)
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole PDCEmulator -Confirm:$false
RIDMaster (код роли — 1)
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole RIDMaster -Confirm:$false
InfrastructureMaster (код роли — 2)
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole InfrastructureMaster -Confirm:$false
SchemaMaster (код роли — 3)
Примечание: Учетная запись должна состоять в группе Schema Admins. Если нет — при выполнении команды появится ошибка. После добавления в группу необходимо выйти из системы и войти снова, чтобы изменения вступили в силу.
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole SchemaMaster -Confirm:$false
DomainNamingMaster (код роли — 4)
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole DomainNamingMaster -Confirm:$false
Вариант 2: перенос всех ролей одной командой
Выполните одну из команд ниже, чтобы перенести все роли FSMO сразу.
Примечание: учётная запись должна быть членом группы Schema Admins. Если это не так, при выполнении команды появится ошибка. После добавления в группу необходимо выйти из системы и войти снова, чтобы изменения вступили в силу.
Перенос всех ролей по их именам:
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster -Confirm:$false
Перенос всех ролей по их числовым кодам:
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole 0,1,2,3,4 -Confirm:$false
Перенос ролей FSMO через графический интерфейс (GUI)
Чтобы перенести роли FSMO через GUI, выполните следующие шаги:
Откройте Active Directory Users and Computers.
Щёлкните правой кнопкой мыши по домену и выберите Operations Master.
Перейдите на каждую вкладку, чтобы увидеть, какой контроллер домена удерживает соответствующую роль. Нажмите Change, чтобы перенести роль:
- RID master
- PDC emulator
- Infrastructure master
Запустите Command Prompt от имени администратора.
Введите команду: regsvr32 schmmgmt.dll и нажмите Enter.
Появится сообщение: DllRegisterServer in schmmgmt.dll succeeded. Нажмите OK.
Примечание: Перед использованием оснастки управления схемой необходимо зарегистрировать её в системе, чтобы она появилась в списке доступных оснасток MMC.
Нажмите кнопку Start, введите в поиск Run и откройте это приложение.
Введите mmc.exe и нажмите OK.
Нажмите File и выберите Add/Remove Snap-in.
Выберите Active Directory Schema, нажмите Add, затем нажмите OK.
Щёлкните по Active Directory Schema, чтобы загрузить конфигурацию.
Щёлкните правой кнопкой мыши по Active Directory Schema и выберите Operations Master.
Отобразится контроллер домена, который в данный момент владеет ролью Schema Master. Нажмите Change, чтобы перенести эту роль.
Запустите Active Directory Domains and Trusts.
Щёлкните правой кнопкой мыши по Active Directory Domains and Trusts и выберите Operations Master.
Отобразится контроллер домена, который в данный момент владеет ролью Domain Naming Master. Нажмите Change, чтобы перенести эту роль.
Захват ролей FSMO (Seize FSMO roles) в аварийных ситуациях
Иногда контроллер домена, на котором находятся роли FSMO, выходит из строя: сервер может сломаться физически, повреждается система, произошёл сбой дисков или его невозможно загрузить после обновления. Если такой контроллер нельзя восстановить и вернуть в работу, выполнить обычный перенос ролей (transfer) невозможно, потому что для передачи ролей требуется доступ к исходному владельцу.
В такой ситуации применяется принудительный захват ролей (seize) — то есть назначение всех ролей FSMO другому контроллеру без участия старого DC. Это аварийная операция и выполняется только тогда, когда прежний контроллер гарантированно не планируется возвращать в домен.
Для захвата всех ролей FSMO используйте параметр -Force:
Move-ADDirectoryServerOperationMasterRole "DC02-2019" -OperationMasterRole 0,1,2,3,4 -Force -Confirm:$false
В данной команде мы переносим все роли FSMO на контроллер домена DC02-2019.
После принудительного захвата старый контроллер домена нельзя включать обратно в сеть — его необходимо удалить из AD корректно (методом metadata cleanup).
Заключение
Вы узнали, как перенести роли FSMO в Active Directory с помощью PowerShell и графического интерфейса. Выполнять просмотр и перенос ролей через PowerShell обычно быстрее и удобнее, особенно когда у администратора есть доступ к RSAT — в этом случае команды можно запускать с любого Windows Server или рабочего компьютера администратора. При использовании GUI важно убедиться, что подключение выполняется именно к тому контроллеру, на который вы хотите передать роли.
Перенос ролей FSMO — нормальная и штатная процедура сопровождения доменной инфраструктуры. Она помогает поддерживать стабильность AD, упрощает обновления серверов, модернизацию оборудования и подготовку к выводу контроллеров из эксплуатации. Важно лишь помнить разницу между обычным transfer (когда оба контроллера доступны) и seize (аварийный захват при недоступности исходного сервера). Правильное управление этими ролями напрямую влияет на предсказуемость и надёжность Active Directory.
Вам понравилась эта статья? Тогда вам, скорее всего, будет интересна другая полезная статья Как настроить безопасный SFTP-сервер на Windows с OpenSSH.
Интересуешься IT и системным администрированием? Подпишись на SysAdminHub в Телеграмм или Макс, чтобы узнавать обо всем первым!
Статья была полезна? Поддержи автора, и благодаря твоей помощи новые материалы будут выходить еще чаще:
