Ошибка при понижении роли КД в 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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.