Роли FSMO (Flexible Single Master Operations) — это пять специальных ролей в инфраструктуре Active Directory, каждая из которых закреплена за конкретным контроллером домена и отвечает за уникальные операции, которые не могут выполняться одновременно на нескольких серверах. Знать, какой контроллер владеет той или иной ролью, необходимо в нескольких ситуациях: при плановом обслуживании серверов, переносе ролей на другой DC, устранении неполадок репликации или восстановлении после сбоя.
Если у вас нет времени читать всю статью, а нужно прямо сейчас узнать, на каком контроллере домена находятся роли FSMO — просто откройте командную строку (CMD) или PowerShell и выполните:
netdom query fsmo
В этой статье мы рассмотрим три способа быстро узнать расположение ролей FSMO в домене Windows Server: через командную строку с утилитой netdom, через PowerShell и через графический интерфейс. Все методы работают на Windows Server 2016, 2019 и 2022.
Просмотр ролей FSMO командой Netdom
Запустите cmd и выполните следующую команду: netdom query fsmo
Она выводит роли владельцев операций для текущего домена. Если нужно посмотреть 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 — пользователи и компьютеры»
- Откройте «Active Directory — пользователи и компьютеры» (dsa.msc)
- Правой кнопкой щёлкните на имени домена в левой панели
- Выберите «Хозяева операций»
- В открывшемся окне — три вкладки: RID, PDC, Инфраструктура
Schema Master — оснастка «Схема Active Directory»
Оснастка по умолчанию не отображается в меню. Сначала её нужно зарегистрировать: regsvr32 schmmgmt.dll
Затем:
- Откройте mmc.exe → «Файл» → «Добавить оснастку»
- Добавьте «Схема Active Directory»
- Правой кнопкой щёлкните на корне оснастки → «Хозяин операций»
Примечание: Командную строку для этой операции нужно обязательно запускать от имени Администратора, иначе вы получите ошибку доступа
Domain Naming Master — оснастка «Active Directory — домены и доверие»
- Откройте «Active Directory — домены и доверие» (domain.msc)
- Правой кнопкой щёлкните на корне дерева
- Выберите «Хозяин операций»
| Роль FSMO | Уровень | Назначение | Как найти в GUI |
|---|---|---|---|
| PDC Emulator | Домен | Синхронизация времени, аутентификация, смена паролей, работа с GPO | dsa.msc → ПКМ на домене → Хозяева операций → PDC |
| RID Master | Домен | Выдача пулов RID контроллерам домена для создания объектов (SID) | dsa.msc → ПКМ на домене → Хозяева операций → RID |
| Infrastructure Master | Домен | Обновление ссылок на объекты между доменами леса | dsa.msc → ПКМ на домене → Хозяева операций → Инфраструктура |
| Schema Master | Лес | Единственный DC, разрешённый вносить изменения в схему AD | mmc + оснастка «Схема AD» → ПКМ → Хозяин операций |
| Domain Naming Master | Лес | Добавление и удаление доменов в лесу AD | domain.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.







Классно, действительно очень быстрый способ определения! Как-то с помощью powershell FSMO можно определить?
Можно с помощью команд Get-ADDomain и Get-ADForest, не забыв предварительно импортировать модуль ActiveDirectory с помощью команды: Import-Module ActiveDirectory