Как быстро проверить и узнать роли FSMO в Active Directory

Роли FSMO (Flexible Single Master Operations) — это пять специальных ролей в инфраструктуре Active Directory, каждая из которых закреплена за конкретным контроллером домена и отвечает за уникальные операции, которые не могут выполняться одновременно на нескольких серверах. Знать, какой контроллер владеет той или иной ролью, необходимо в нескольких ситуациях: при плановом обслуживании серверов, переносе ролей на другой DC, устранении неполадок репликации или восстановлении после сбоя.

Быстрый ответ

Если у вас нет времени читать всю статью, а нужно прямо сейчас узнать, на каком контроллере домена находятся роли FSMO — просто откройте командную строку (CMD) или PowerShell и выполните:  

netdom query fsmo

В этой статье мы рассмотрим три способа быстро узнать расположение ролей FSMO в домене Windows Server: через командную строку с утилитой netdom, через PowerShell и через графический интерфейс. Все методы работают на Windows Server 2016, 2019 и 2022.

Содержание скрыть
  1. Просмотр ролей FSMO командой Netdom
  2. Просмотр ролей FSMO через PowerShell
    1. Шаг 1. Убедитесь, что модуль Active Directory подключён
    2. Шаг 2. Получить роли уровня домена
    3. Шаг 3. Получить роли уровня леса
    4. Шаг 4. Все пять ролей одной командой
  3. Просмотр ролей FSMO через графический интерфейс
    1. PDC Emulator, RID Master, Infrastructure Master — оснастка «Active Directory — пользователи и компьютеры»
    2. Schema Master — оснастка «Схема Active Directory»
    3. Domain Naming Master — оснастка «Active Directory — домены и доверие»
  4. Способ 4: Через ntdsutil (если ничего не работает)
    1. Когда применять этот способ?
    2. Пошаговая инструкция
    3. Лайфхак для продвинутых
  5. Итог
  6. Часто задаваемые вопросы (FAQ)
    1. Сколько ролей FSMO существует в Active Directory
    2. Можно ли держать все роли FSMO на одном контроллере домена?
    3. Что произойдёт, если контроллер домена с ролью PDC Emulator станет недоступен?
    4. Чем отличается перенос роли FSMO от её захвата?
    5. Как быстро проверить все роли FSMO одной командой?

Просмотр ролей FSMO командой Netdom

Запустите cmd и выполните следующую команду: netdom query fsmo


Проверка текущих ролей FSMO домена Active Directory

 

Она выводит роли владельцев операций для текущего домена. Если нужно посмотреть FSMO роли для другого домена, то нужно использовать ключ domain:

netdom query fsmo /domain:имя домена

Примечание: Утилита netdom доступна по умолчанию на контроллерах домена. На своей рабочей станции Windows 10/11 вам потребуется установить пакет RSAT (Active Directory Domain Services)

Напомним, что таких ролей в AD всего пять. Две роли уникальны для леса:

  • Schema master – роль хозяина схемы. Через GUI ее можно увидеть в оснастке Active Directory Schema.
  • Domain naming master – роль хозяина доменных имен. Через GUI ее можно найти в оснастке Active Directory Domains and Trusts.

И три роли уникальны для каждого домена:

  • RID pool manager – роль хозяина пула RID (относительных идентификаторов).
  • PDC Emulator – роль эмулятора PDC (основного контроллера домена).
  • Infrastructure master – роль владельца инфраструктуры.

Подробнее про Flexible Single-Master Operation можно узнать на сайте Microsoft.

Просмотр ролей FSMO через PowerShell

PowerShell — наиболее удобный способ получить информацию о ролях FSMO, особенно если вы работаете удалённо или хотите автоматизировать проверку в скрипте. В отличие от netdom, команды PowerShell возвращают структурированный вывод, с которым легко работать дальше.

Шаг 1. Убедитесь, что модуль Active Directory подключён

Перед выполнением команд необходимо импортировать модуль AD. На контроллере домена он уже установлен. На рабочей станции администратора потребуется установить RSAT (Remote Server Administration Tools).

Import-Module ActiveDirectory

Если модуль не найден — установите RSAT командой:

Add-WindowsCapability -Online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

Шаг 2. Получить роли уровня домена

Три из пяти ролей FSMO относятся к домену: PDC Emulator, RID Master и Infrastructure Master. Их можно узнать командой:

Get-ADDomain | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster

Шаг 3. Получить роли уровня леса

Две оставшиеся роли — Schema Master и Domain Naming Master — относятся к лесу AD и запрашиваются отдельно:

Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster

Шаг 4. Все пять ролей одной командой

Get-ADDomain | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster; Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster

Или более читаемый вариант с выводом в виде списка:

$domain = Get-ADDomain
$forest = Get-ADForest

[PSCustomObject]@{
    "Schema Master"          = $forest.SchemaMaster
    "Domain Naming Master"   = $forest.DomainNamingMaster
    "PDC Emulator"           = $domain.PDCEmulator
    "RID Master"             = $domain.RIDMaster
    "Infrastructure Master"  = $domain.InfrastructureMaster
} | Format-List

Проверка с удалённого компьютера

Если нужно опросить другой домен или запустить команду не с контроллера — добавьте параметр -Server:

Get-ADDomain -Server "dc01.contoso.local" | Select-Object PDCEmulator, RIDMaster, InfrastructureMaster

Совет: Сохраните скрипт с выводом всех пяти ролей в папку с административными инструментами — он пригодится при каждом плановом обслуживании инфраструктуры AD.

Просмотр ролей FSMO через графический интерфейс

Графический способ подойдёт тем, кто работает непосредственно на контроллере домена и предпочитает визуальный интерфейс. Роли FSMO в GUI разбросаны по трём разным оснасткам — это главная особенность, которую нужно знать заранее.

PDC Emulator, RID Master, Infrastructure Master — оснастка «Active Directory — пользователи и компьютеры»

  1. Откройте «Active Directory — пользователи и компьютеры» (dsa.msc)
  2. Правой кнопкой щёлкните на имени домена в левой панели
  3. Выберите «Хозяева операций»
  4. В открывшемся окне — три вкладки: RID, PDC, Инфраструктура

Schema Master — оснастка «Схема Active Directory»

Оснастка по умолчанию не отображается в меню. Сначала её нужно зарегистрировать: regsvr32 schmmgmt.dll

Затем:

  1. Откройте mmc.exe → «Файл» → «Добавить оснастку»
  2. Добавьте «Схема Active Directory»
  3. Правой кнопкой щёлкните на корне оснастки → «Хозяин операций»

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

Domain Naming Master — оснастка «Active Directory — домены и доверие»

  1. Откройте «Active Directory — домены и доверие» (domain.msc)
  2. Правой кнопкой щёлкните на корне дерева
  3. Выберите «Хозяин операций»

Роль FSMOУровеньНазначениеКак найти в GUI
PDC EmulatorДоменСинхронизация времени, аутентификация, смена паролей, работа с GPOdsa.msc → ПКМ на домене → Хозяева операций → PDC
RID MasterДоменВыдача пулов RID контроллерам домена для создания объектов (SID)dsa.msc → ПКМ на домене → Хозяева операций → RID
Infrastructure MasterДоменОбновление ссылок на объекты между доменами лесаdsa.msc → ПКМ на домене → Хозяева операций → Инфраструктура
Schema MasterЛесЕдинственный DC, разрешённый вносить изменения в схему ADmmc + оснастка «Схема AD» → ПКМ → Хозяин операций
Domain Naming MasterЛесДобавление и удаление доменов в лесу ADdomain.msc → ПКМ на корне → Хозяин операций

Совет: Если нужно быстро проверить все роли сразу — GUI явно проигрывает PowerShell. Три разных оснастки против одного скрипта. Используйте GUI только когда PowerShell недоступен или нужно показать коллеге наглядно.

Способ 4: Через ntdsutil (если ничего не работает)

ntdsutil — это легендарная утилита командной строки, «тяжелая артиллерия» в арсенале администратора Active Directory. Она появилась еще во времена Windows Server 2003 и с тех пор остается самым надежным инструментом для диагностики и обслуживания AD.

Когда применять этот способ?

  • Если на контроллере домена не работает PowerShell (сломан модуль ActiveDirectory).
  • Если графические оснастки (GUI) не открываются или выдают странные ошибки.
  • Если вам нужно подключиться к конкретному контроллеру домена в большой распределенной инфраструктуре и посмотреть роли именно на нём.
  • Если вы — сисадмин старой закалки и привыкли доверять только проверенной классике 😉

Важно: ntdsutil — это очень мощный инструмент. В неумелых руках с его помощью можно не только посмотреть роли, но и выполнить их принудительный захват (seize), что без понимания последствий может разрушить репликацию в лесу. В данном разделе мы используем утилиту исключительно в режиме чтения.

Пошаговая инструкция

Запустите командную строку (CMD) от имени администратора и введите ntdsutil. Вы попадете в интерактивный режим утилиты — приглашение изменится на ntdsutil:.
 
Далее выполняйте команды строго по порядку:

ntdsutil: roles
fsmo maintenance: connections
server connections: connect to server dc01.yourdomain.local
server connections: q
fsmo maintenance: select operation target
select operation target: list roles for connected server

Чтобы корректно завершить работу с утилитой, нужно последовательно выйти из всех вложенных режимов. Просто вводите q (quit) до тех пор, пока не вернетесь в обычную командную строку:

Лайфхак для продвинутых

Весь этот путь можно пройти одной строкой, если запустить ntdsutil с ключами. Это удобно, если вы пишете batch-скрипт для аудита:

ntdsutil "roles" "connections" "connect to server dc01.yourdomain.local" "q" "select operation target" "list roles for connected server" "q" "q" "q"

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

Итог

Мы рассмотрели четыре способа узнать владельцев ролей FSMO в Active Directory — каждый подходит для своей ситуации:

СпособКогда использовать
netdom query fsmoБыстрая проверка с контроллера домена без PowerShell и модулей (на рабочей станции требует RSAT)
PowerShellУдалённая работа, скрипты, автоматизация
GUI (оснастки MMC)Наглядная демонстрация, работа на самом DC
ntdsutilПросмотр ролей в интерактивной консоли: продвинутый способ для админов старой школы

Для большинства администраторов оптимальный выбор — PowerShell: одна команда даёт полную картину по всем пяти ролям, работает удалённо и легко встраивается в регламент проверки инфраструктуры.

Знать расположение ролей FSMO — базовый навык любого администратора AD. Эта информация понадобится вам при переносе ролей на другой контроллер, плановом обслуживании, а также при восстановлении домена после сбоя.

Статья была полезной? Сохраните её в закладки (Ctrl+D), чтобы не потерять PowerShell-скрипт. А если при проверке ролей вы столкнулись с ошибкой репликации — пишите в комментарии, разберем вашу ситуацию!

Часто задаваемые вопросы (FAQ)

 

Сколько ролей FSMO существует в Active Directory

В Active Directory существует пять ролей FSMO. Три из них относятся к уровню домена: PDC Emulator, RID Master и Infrastructure Master. Ещё две — Schema Master и Domain Naming Master — относятся к уровню леса и существуют в единственном экземпляре на весь лес AD.

Можно ли держать все роли FSMO на одном контроллере домена?

Да, это допустимо и часто встречается в небольших инфраструктурах с одним или двумя контроллерами домена. В крупных средах роли рекомендуется распределить между несколькими DC для повышения отказоустойчивости. При этом Schema Master и Domain Naming Master принято держать на одном контроллере, а PDC Emulator выносить на отдельный — так как он несёт наибольшую нагрузку.

Что произойдёт, если контроллер домена с ролью PDC Emulator станет недоступен?

Большинство операций домена продолжат работать, однако возникнут проблемы: замедлится репликация паролей, возможны сбои аутентификации в отдельных сценариях, перестанет корректно работать синхронизация времени. Если сервер недоступен длительное время, роль PDC Emulator необходимо захватить на другом контроллере домена с помощью команды ntdsutil.

Чем отличается перенос роли FSMO от её захвата?

Перенос (transfer) — плановая операция, при которой текущий владелец роли корректно передаёт её другому контроллеру. Захват (seize) — аварийная операция, применяемая когда текущий владелец роли недоступен и не может быть восстановлен. После захвата роли исходный контроллер нельзя возвращать в домен — это вызовет конфликт.

Как быстро проверить все роли FSMO одной командой?

Самый быстрый способ — выполнить в командной строке:
netdom query fsmo
Команда выведет все пять ролей и имена контроллеров домена, которым они назначены. Для более детального вывода используйте PowerShell: Get-ADDomain и Get-ADForest с параметром Select-Object.

Тимлид команды системных администраторов Windows-инфраструктуры с 20-летним опытом. Специализация: сопровождение серверов Windows, Active Directory, Hyper-V, PowerShell-автоматизация, мониторинг.