Ошибка при понижении роли КД в 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 нашего контроллера, которое мы копировали во временный текстовый файл. Сохраняем изменения нажатием на “Ок” в редакторе и “Ок” в свойствах.

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


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

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

  1. Всё разобрался, надо было прописать под домене в строке DC=DomainDnsZones,DC=имя поддомена DC=test,DC=local –

  2. Добрый день!
    когда создаю конкекст DomainDnsZones то при прописывания значений и нажатия на ОК выходит ошибка
    Ошибка операции. Код ошибки 0Х202b
    Сервер возвратил ссылку.

    00000202B: RefErr: DSID-03100742, data 0, 1 access points ref 1 : DomainDnsZone.chaconne.ru

    не пойму, что не наравиться?

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

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