Ошибка при понижении роли КД в Active Directory

При понижении роли контроллера домена Active Directory может появиться следующая ошибка:

Операция не выполнена по следующей причине:
Доменным службам Active Directory не удалось передать оставшиеся в разделе DC=ForestDnsZones,DC=test,DC=local данные контроллеру домена Active Directory \SRV-1.test.local.
«В службе каталогов утеряна обязательная информация и невозможно определить владельца передаваемых монопольных операций (FSMO).»

или на английском:

Active Directory Domain Services could not transfer the remaining data in directory partition DC=ForestDNSZones,DC= test ,DC=local to Active Directory Domain Controller \SRV-1.DOMAIN.LOCAL.
“The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles.

Данная ошибка может возникнуть из-за того, что ранее роли FSMO были переданы не корректно другому КД, например в случае выхода из строя основного КД, роли были принудительно захвачены резервным контроллером.


В интернетах ходит одна и та же инструкция от сайта к сайту, например тут. Инструкция в целом рабочая, но не совсем понятная тому, кто с этим никогда не сталкивался.

Попробую решить данную проблему и написать более подробную инструкцию по решению данной проблемы.

Первым делом, нам необходимо подключиться к текущему КД-хозяину инфраструктуры (Infrastructure master). Чтобы выяснить, какой из КД держит роли, выполним запрос в командной строке:

> netdom query fsmo

В ответ получим следующую информацию:

Хозяин схемы                SRV-DC2.test.local
Хозяин именования доменов   SRV-DC2.test.local
PDC                         SRV-DC2.test.local
Диспетчер пула RID          SRV-DC2.test.local
Хозяин инфраструктуры       SRV-DC2.test.local
Команда выполнена успешно.

Подключаемся по RDP к серверу, указанному напротив «Хозяин инфраструктуры» и выполняем следующие операции в консоли «Редактирование ADSI» (adsiedit.msc).

Найдем DN (distinguishedName) контроллера с ролью «Хозяин инфраструктуры», т.е. нашего сервера, к которому подключены

  1. Для этого в консоли ADSIedit щелкаем ПКМ по корню консоли и выбираем «Подключение к…».
  2. В открывшемся окне выбираем «Точка подключения» => «Выберите известный контекст именования» => «Конфигурация», жмем «ОК».
  3. Далее в дереве консоли движемся по следующему пути: «CN=Configuration» => «CN=Sites» => «CN=Default First-Site-Name» (или ваше имя сайта) => «CN=Servers» => «CN=Имя_вашего_КД» (который является хозяином инфраструктуры) => «CN=NTDS Settings».
  4. Жмем ПКМ по разделу «CN=NTDS Settings» и выбираем «Свойства».
  5. В открывшемся окне находим атрибут «distinguishedName» и открываем его двойным щелчком ЛКМ, копируем значение атрибута во временный текстовый файлик. Значение будет примерно таким: «CN=NTDS Settings,CN=SRV-DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=local». Закрываем редактор атрибутов и свойства «CN=NTDS Settings».

Пояснения в виде скриншотов:

Найдем и изменим атрибут fSMORoleOwner в контексте ForestDnsZones

  1. Для этого в консоли ADSIedit снова щелкаем ПКМ по корню консоли и выбираем «Подключение к…».
  2. В открывшемся окне, для удобства введем «Имя: ForestDnsZones» и выберем «Точка подключения» => «Выберите или введите различающееся имя или контекст именования» => «DC=ForestDnsZones,DC=test,DC=local», жмем «ОК». Естественно, вместо «DC=test,DC=local» указываем свой домен.
  3. В дереве консоли открываем раздел «DC=ForestDnsZones,DC=test,DC=local», а в окне содержимого находим объект «CN=Infrastructure», открываем его свойства двойным щелчком ЛКМ.
  4. В свойствах находим атрибут «fSMORoleOwner» и изменяем его значение (двойной клик ЛКМ) на значение DN нашего контроллера, которое мы копировали во временный текстовый файл. Сохраняем изменения нажатием на «Ок» в редакторе и «Ок» в свойствах.

Пояснения в виде скриншотов:

Найдем и изменим атрибут fSMORoleOwner в контексте DomainDnsZones

  1. Для этого в консоли ADSIedit снова щелкаем ПКМ по корню консоли и выбираем «Подключение к…».
  2. В открывшемся окне, для удобства введем «Имя: DomainDnsZones» и выберем «Точка подключения» => «Выберите или введите различающееся имя или контекст именования» => «DC=DomainDnsZones,DC=test,DC=local», жмем «ОК». Как и ранее, вместо «DC=test,DC=local» указываем свой домен.
  3. В дереве консоли открываем раздел «DC=DomainDnsZones,DC=test,DC=local», а в окне содержимого находим объект «CN=Infrastructure», открываем его свойства двойным щелчком ЛКМ.
  4. В свойствах находим атрибут «fSMORoleOwner» и изменяем его значение (двойной клик ЛКМ) на значение DN нашего контроллера, которое мы копировали во временный текстовый файл. Сохраняем изменения нажатием на «Ок» в редакторе и «Ок» в свойствах.

Пояснения в виде скриншотов:


После выполнения всех манипуляций, ошибка будет исправлена и можно будет снова пробовать понижать роль КД до рядового сервера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.