Передача/захват ролей FSMO на другой контроллер домена Active Directory
12.12.2019
itpro
Active Directory, Windows Server 2012 R2, Windows Server 2016
комментариев 20
В этой статье мы рассмотрим, как определить контроллеры домена с ролями FSMO в Active Directory, способы передачи одной или нескольких FSMO ролей другому контроллеру домена (дополнительному), а также способ принудительного захвата FSMO ролей в случае выхода из строя контроллера домена, которой является владельцем роли.
Для чего нужны FSMO роли в домене Active Directory?
Кратко попытаюсь напомнить для чего нужный роли FSMO (Flexible Single Master Operation, операции с одним исполнителем) в домене Active Directory.
Не секрет, что в Active Directory большинство стандартных операций (таких как заведение новых учетных записей пользователей, групп безопасности, добавление компьютера в домен) можно выполнять на любом контроллере домена. За распространение этих изменений по всему каталогу AD отвечает служба репликации AD. Различные конфликты (например, одновременное переименование пользователя на нескольких контроллерах домена) разрешаются по простому принципу — кто последний тот и прав. Однако есть ряд операций, при выполнении которых недопустимо наличие конфликта (например, при создании нового дочернего домена/леса, изменении схемы AD и т.д). Для выполнения операций, требующих обязательной уникальности нужны контроллеры домена с ролями FSMO. Основная задача ролей FSMO – не допустить конфликты такого рода
Всего в домене Active Directory может быть пять ролей FSMO.
Две уникальные роли для леса AD:
- Хозяин схемы (Schema master) – отвечает за внесение изменение в схему Active Directory, например, при расширении с помощью команды adprep /forestprep (для управления ролью нужны права “Schema admins”);
- Хозяин именования домена (Domain naming master) – обеспечивает уникальность имен для всех создаваемых доменов и разделов приложений в лесу AD (для управления нужны права “Enterprise admins”);
И три роли для каждого домена (для управления этими ролями ваша учетная запись должна состоять в группе “Domain Admins”):
- Эмулятор PDC (PDC emulator) – является основным обозревателем в сети Windows (Domain Master Browser – нужен для нормального отображения компьютеров в сетевом окружении); отслеживает блокировки пользователей при неправильно введенном пароле, является главным NTP сервером в домене, используется для совместимости с клиентами Windows 2000/NT, используется корневыми серверами DFS для обновления информации о пространстве имён;
- Хозяин инфраструктуры (Infrastructure Master) — отвечает за обновление в междоменных объектных ссылок, также на нем выполняется команда adprep /domainprep;.
- Хозяин RID (RID Master) —сервер раздает другим контроллерам домена идентификаторы RID (пачками по 500 штук) для создания уникальных идентификаторов объектов — SID.
Просмотр владельцев FSMO ролей в домене
Как определить какой контролер домена является хозяином/владельцем конкретной FSMO роли?
Чтобы найти всех владельцев FSMO ролей в домене AD, выполните команду:
netdom query fsmo

Можно просмотреть FSMO роли для другого домена:
netdom query fsmo /domain:contoso.com
В этом примере видно, что все FSMO роли расположены на контроллере домена DC01. При развертывании нового леса AD (домена), все FSMO роли помещаются на первый DC. Любой контроллер домена кроме RODC может быть хозяином любой FSMO роли. Соответственно, администратора домена может передать любую FSMO роль на любой другой контроллер домен.
Можно получить информацию о FSMO ролях в домене через PowerShell с помощью Get-ADDomainController (должен быть установлен модуль Active Directory для PowerShell из состава RSAT):
Get-ADDomainController -Filter * | Select-Object Name, Domain, Forest, OperationMasterRoles |Where-Object
Или можно получить FSMO роли уровня леса и уровня домена так:
Get-ADDomain | Select-Object InfrastructureMaster, RIDMaster, PDCEmulator
Get-ADForest | Select-Object DomainNamingMaster, SchemaMaster

Общие рекомендации Microsoft по размещении FSMO ролей на контроллерах домена:
- Роли уровня леса (Schema master и Domain naming master) нужно расположить на контроллере корневого домена, который одновременно является сервером глобального каталога (Global Catalog);
- Все 3 доменные FSMO роли нужно разместить на одном DC с достаточной производительностью;
- Все DC в лесу должны быть серверами глобального каталога, т.к. это повышает надежность и производительность AD, при этом роль Infrastructure Master фактически не нужна. Если у вас в домене есть DC без роли Global Catalog, нужно поместить FSMO роль Infrastructure Master именно на него;
- Не размешайте другие задачи на DC, владельцах FSMO ролей.
В Active Directory вы можете передать FSMO роли несколькими способами: с помощью графических mmc оснасток AD, с помощью утилиты ntdsutil.exe или через PowerShell. О переносе ролей FSMO обычно задумываются при оптимизации инфраструктуры AD, при выводе из эксплуатации или поломке контроллера домена с ролью FSMO. Есть два способа передачи FSMO ролей: добровольный (когда оба DC доступны) или принудительный (когда DC с ролью FSMO недоступен/вышел из строя)
Передача FSMO ролей с помощью PowerShell
Самый простой и быстрый способ передачи FSMO ролей в домене – PowerShell командлет Move-ADDirectoryServerOperationMasterRole.
Вы можете передать на указанный DC одну или несколько FSMO ролей за раз. Следующая команда выполнит передачу двух ролей на DC02:
Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole PDCEmulator, RIDMaster

В аргументе OperationMasterRole можно указать как имя FSMO роли, так и ее индекс в соответствии с таблицей:
Предыдущая команда в более коротком виде выглядит так:
Move-ADDirectoryServerOperationMasterRole -Identity dc02 -OperationMasterRole 0,1
А чтобы передать сразу все FSMO роли на дополнительный контроллер домена, выполните:
Move-ADDirectoryServerOperationMasterRole -Identity dc03 -OperationMasterRole 0,1,2,3,4
Передача FSMO ролей из графических оснасток Active Directory
Для переноса FSMO ролей можно использовать стандартные графические оснастки Active Directory. Операцию переноса желательно выполнять на DC с FSMO ролью. Если же консоль сервера не доступна, необходимо выполнить команду Change Domain Controller и выбрать контроллер домена в mmc-оснастке.

Передача ролей RID Master, PDC Emulator и Infrastructure Master
Для передачи ролей уровня домена (RID, PDC, Infrastructure Master) используется стандартная консоль Active Directory Users and Computers (DSA.msc)
- Откройте консоль Active Directory Users and Computers;
- Щелкните правой кнопкой мыши по имени вашего домена и выберите пункт Operations Master;

- Перед вами появится окно с тремя вкладками (RID, PDC, Infrastructure), на каждой из которых можно передать соответствующую роль, указав нового владельца FSMO роли и нажав кнопку Change.

Передача роли Schema Master
Для переноса FSMO уровня леса Schema Master используется оснастка Active Directory Schema.
- Перед запуском оснастки нужно зарегистрировать библиотеку schmmgmt.dll, выполнив в командной строке команду: regsvr32 schmmgmt.dll
2. Откройте консоль MMC, набрав MMC в командной строке;
3. В меню выберите пункт File -> Add/Remove snap-in и добавьте консоль Active Directory Schema;
4. Щелкните правой кнопкой по корню консоли (Active Directory Schema) и выберите пункт Operations Master;
5. Введите имя контроллера, которому передается роль хозяина схемы, нажмите кнопку Change и OK. Если кнопка недоступна, проверьте что ваша учетная запись входит в группу Schema admins.
Передача FSMO роли Domain naming master

- Для передачи FSMO роли хозяина именования домена, откройте консоль управления доменами и доверием Active Directory Domains and Trusts;
- Щелкните правой кнопкой по имени вашего домена и выберите опцию Operations Master;
- Нажмите кнопку Change, укажите имя контроллера домена и нажмите OK.
Передача FSMO ролей из командной строки с помощью утилиты ntdsutil
- На контроллере домена откройте командную строку и введите команду: ntdsutil
- Наберите команду: roles
- Затем: connections
- Затем нужно подключиться к DC, на который вы хотите передать роль. Для этого наберите: connect to server <servername>
- Введите q и нажмите Enter.
- Для передачи FSMO роли используется команда: transfer role , где <role> это роль которую вы хотите передать. Например: transfer schema master , transfer RID и т.д.

- Подтвердите перенос FSMO роли;

- После переноса ролей нажмите q и Enter, чтобы завершить работу с ntdsutil.exe;
- Перезагрузите контроллер домена.
Принудительный захват FSMO ролей Active Directory
Если DC с одной из FSMO ролью вышел из строя (и его не возможно восстановить), или недоступен длительное время, вы можете принудительно перехватить у него любую из FSMO ролей. Но при этом крайне важно убедиться, что сервер, у которого забрали FSMO роль никогда не должен появится в сети, если вы не хотите новых проблем с AD (даже если вы позднее восстановите DC из резервной копии). Если вы захотите вернуть потерянный сервер в домен, единственный правильный способ – удаление его из AD, чистая переустановка Windows под новым именем, установка роли ADDS и повышение сервера до контроллера домена
Вы можете принудительно захватить FSMO роли с помощью PowerShell или утилиты NTDSUtil.
Проще всего захватить FSMO роль через PowerShell. Для этого используется тот-же самый командлет Move-ADDirectoryServerOperationMasterRole, что и для переноса роли, но добавляется параметр –Force.
Например, чтобы захватить роль PDCEmulator и принудительно передать ее на DC02, выполните:
Move-ADDirectoryServerOperationMasterRole -Identity DC2 -OperationMasterRole PDCEmulator –Force
Также вы можете перенести роли FSMO на сервер DC02 с помощью утилиты ntdsutil. Процедура захвата роли через ntdsutil похожа на обычную передачу. Используйте следующие команды:
ntdsutil
roles
connections
connect to server DC02 (на этот сервер вы перенесете роль)
quit
Для захвата различных ролей FSMO используйте команды:
seize schema master
seize naming master
seize rid master
seize pdc
seize infrastructure master
quit
Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве
Просмотр и передача ролей FSMO в Windows Server
В каждом лесу имеется как минимум пять ролей FSMO, назначенных одному или нескольким контроллерам домена. Это следующие роли.
- Хозяин схемы. Контроллер домена, являющийся хозяином схемы, управляет всеми обновлениями и изменениями схемы. Обновление схемы леса невозможно без доступа к хозяину схемы. В лесу может быть только один хозяин схемы.
- Хозяин именования доменов. Контроллер домена, исполняющий роль хозяина именования, управляет добавлением и удалением доменов из леса. В лесу может быть только один хозяин именования доменов.
- Хозяин инфраструктуры. Хозяин инфраструктуры отвечает за обновление ссылок объектов домена на объекты других доменов. Одновременно в домене может существовать только один хозяин инфраструктуры.
- Хозяин относительных идентификаторов (RID). Хозяин RID отвечает за обработку запросов на относительные идентификаторы от всех контроллеров в данном домене. Одновременно в домене может существовать только один хозяин RID.
- Эмулятор основного контроллера домена (PDC). Эмулятор PDC — это контроллер, объявляющий себя основным контроллером домена по отношению к рабочим станциям, серверам и контроллерам домена под управлением Windows более ранних версий. Например, если не все компьютеры в домене находятся под управлением Windows XP Professional и Windows 2000 или в нем имеются резервные контроллеры домена под управлением Windows NT, эмулятор PDC принимает роль основного контроллера домена Windows NT. Кроме того, он становится основным обозревателем домена и обрабатывает расхождения паролей. Одновременно в каждом домене леса может существовать только один эмулятор PDC.
Передача ролей FSMO выполняется с помощью программы Ntdsutil.exe (запускается из командной строки) или оснасток консоли MMC. В зависимости от передаваемой роли используются:
оснастка «Схема Active Directory»;
оснастка «Active Directory — домены и доверие»;
оснастка «Active Directory — пользователи и компьютеры».
How to Quickly check FSMO roles

Active Directory contains five roles called Flexible Single Master Operation Roles (FSMO), these roles are required for the domain controllers to function correctly. During the first domain controller installation, the FSMO roles are installed automatically. In most cases, they can be left alone, but there are times when they need to be moved such as a failed DC.
It is a good idea to be familiar with where the roles are installed in your AD environment, you never know when a disaster will hit. In this post, I will walk through two simple methods on how to list fsmo roles. The first method uses the Netdom query command and the second uses Windows PowerShell.
There are two forest wide roles and three domain wide roles
Forest Wide Roles:
- Schema Master
- Domain naming master
Domain Wide Roles:
- PDC
- RID pool manager
- Infrastructure master
Now let’s take a look at how to query the FSMO roles.
Method 1: Netdom query fsmo command line tool
Netdom is a command line tool used to manage Active Directory domains and trusts. The Netdom tool is built into Windows Server 2003 and up.
1. On any domain controller open the command prompt. On Windows 2012 server click the start button and type cmd, windows will search and return the command prompt. Click on “Command Prompt”.

2. From the command prompt type “netdom query fsmo” and hit “enter”.

The above command should return the five roles and which DC they are on.

That’s it for the Netdom query method, very simple and straightforward.
Method 2: Powershell Get FSMO Roles
Using Powershell will require two lines of code, one to return the forest roles and another to return the domain roles.
1. Open windows Powershell. On 2012 server click start and type Powershell. Click Windows Powershell from the search results

2. From the PowerShell command line type: Get-ADForest yourdomain | Format-Table SchemaMaster,DomainNamingMaster
The above command returns the forest FSMO roles.

3. Type: Get-ADDomain yourdomain | format-table PDCEmulator,RIDMaster,InfrastructureMaster
The above command will return the domain FSMO roles.

That’s it for method two.
I recommend becoming familiar with which DCs in your environment hold the FSMO roles. It’s good to understand what these roles are and the DCs that hold them in case a disaster does occur or you have a specific reason to move them.
Recommended Tool: Permissions Analyzer for Active Directory
This FREE tool lets you get instant visibility into user and group permissions and allows you to quickly check user or group permissions for files, network, and folder shares.
You can analyze user permissions based on an individual user or group membership.
Как быстро посмотреть роли FSMO в домене Active Directory
Иногда администратору домена Active Directory нужно быстро узнать на каких контроллерах в текущий момент находятся роли FSMO – Flexible Single-Master Operation, то есть кто из них является так называемым хозяином или владельцем определенной операции. Самый быстрый способ определения – это использование встроенной команды Netdom .
Просмотр ролей FSMO командой Netdom
Запустите cmd и выполните следующую команду:
netdom query fsmo

Она выводит роли владельцев операций для текущего домена. Если нужно посмотреть FSMO роли для другого домена, то нужно использовать ключ domain :
netdom query fsmo /domain:имя домена
Напомним, что таких ролей в 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 – роль владельца инфраструктуры.
Через графический интерфейс эти роли можно проверить в оснастке Active Directory Users and Computers.
Подробнее про Flexible Single-Master Operation можно узнать на сайте Microsoft.
- 15474
2 комментария на “Как быстро посмотреть роли FSMO в домене Active Directory”
Классно, действительно очень быстрый способ определения! Как-то с помощью powershell FSMO можно определить?
Можно с помощью команд Get-ADDomain и Get-ADForest, не забыв предварительно импортировать модуль ActiveDirectory с помощью команды: Import-Module ActiveDirectory