База данных диспетчера учетных записей на сервере не содержит записи

База данных диспетчера учетных записей на сервере не содержит записи

Active Directory

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз я вас научил делать резервные копии с помощью утилиты Robocopy, это было очень полезно. В сегодняшней заметке я покажу, как решается проблема с вылетевшим из домена компьютером, который при логине выводит ошибку "База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера". Думаю, что многие с ней сталкивались, но не все ее решали и понимали откуда эта проблема берется.

Описание проблемы

Давайте я подробнее опишу рабочее окружение. И так есть лес Active Directory, в котором есть родительский домен, дочерний и транзитивный отдельный домен в рамках леса. Поступила задача мигрировать и доверительного домена объект компьютера в дочерний домен. Для этого была использована утилита ADMT 3.2. Сама миграция учетной записи компьютера прошла штатно. Далее я сменил принадлежность к домену Active Directory нового компьютера, у меня ввод был успешен, но было предупреждение, что якобы есть проблемы на уровне DNS-сервера. После перезагрузки и попытке на него залогиниться появилась вот такая ошибка:

База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станции

База данных не содержит записи

В английской версии, это выглядит вот так:

The security database on the server does not have a computer account for this workstation trust relationship

The security database on the server does not have a computer account for this workstation trust relationship

Как решить проблему с доверительными отношениями

И так давайте рассуждать, тут есть два сценария, когда вы можете увидеть эту ошибку:

  • Во первых, это когда у вас компьютер или сервер не включались более 30 дней и не обращались к контроллеру домена, так как по умолчанию, каждые 30 дней все учетные записи компьютеров меняют свой пароль безопасности для канала между ними и контроллером домена
  • Во вторых, это когда у вас на уровне леса есть два компьютера с одинаковыми именами, которые мешают друг другу и конфликтуют

Что делать в таких ситуациях, в первом случае, это сбросить учетную запись компьютера и восстановить безопасный канал, во втором случае найти дубли, удалить их и уже после этого заново восстанавливать канал между компьютером и контроллером домена.

В ситуации, когда компьютер по тем или иным причинам не мог связаться с контроллером домена, он не мог вовремя обновить свой пароль, в этом случае, когда он появится в локальной сети, он попытается аутентифицироваться со старым паролем в следствии чего будет успешно послан DC на все четыре стороны и получит ту самую ошибку "База данных диспетчера учетных записей на сервере не содержит записи"

Как это исправить. Вам потребуется знать и иметь административную, локальную учетную запись от имени которой вы будите проводить манипуляции по восстановлению доверительных отношений.Если же у вас нет доступа к этой учетной записи, то вам придется сбросить пароль администратора Windows. Далее имея административный, локальный доступ вам нужно сбросить безопасный канал, об этом я уже рассказывал в статье не удается установить доверительные отношения с доменом. Там вы выбираете любой удобный способ:

  • Утилита Netdom
  • Nltest
  • Командлет Reset-ComputerMachinePassword

Если вам не нужно сохранять SID компьютера, то вы можете удалить объект компьютера из базы Active Directory, например, через оснастку ADUC, далее вывести компьютер из домена, перезагрузиться и снова его ввести

Если эти манипуляции не помогают, то у вас сто процентов конфликт имен на уровне леса. Первым делом я вам советую открыть логи на контроллере домена. Там вы со сто процентной уверенностью обнаружите ошибку с кодом ID 2974. Как видите в моем случае ошибка указывает на servicePrincipalName HOST/имя компьютера, именно из-за него конфликт.

Ошибка 2974

Подробнее про ошибку ID 2974 вы можете почитать на сайте Microsoft https://docs.microsoft.com/ru-ru/windows-server/identity/ad-ds/manage/component-updates/spn-and-upn-uniqueness

В моем случае сообщение об ошибке "База данных диспетчера учетных записей на сервере не содержит записи", появлялось потому, что после миграции у меня на старом месте осталась прошлая учетная запись компьютера и в новом месте она же присутствовала, что приводило к дублированию. У новой учетной записи компьютера, была обнаружена такая вещью, у нее не проставлялся атрибут AD servicePrincipalName. Чтобы в этом удостовериться откройте редактор атрибутов Active Directory подключитесь к контексту именования по умолчанию и найдите свой объект компьютера. Перейдите в его свойства.

servicePrincipalName

Тут вы видите, что атрибут servicePrincipalName пустой, и если вы попытаетесь его заполнить, то получите ошибку, пока не уберете дубль.

пустой servicePrincipalName

Думаю что все умеют искать компьютеры в Active directory, но то же самое можно сделать и другими методами.

Поиск компьютера в Active Directory

Например, через оболочку центр администрирования Active Directory, выбрав там глобальный поиск и введя там нужное имя компьютера.

поиск компьютера ADAC

Можно так же и через командную строку, через утилиту dsquery * -filter servicePrincipalName=* -attr Name.

После того, как вы обнаружили ваш дублирующий компьютер в базе данных AD, то удаляем его. После этого, чтобы без перезагрузок и вывода и повторного ввода в домен, нового компьютера сделайте вот что. Находясь в свойствах учетной записи компьютера через ADSIEdit, зайдите внутрь свойства атрибута servicePrincipalName. Там вам нужно в ручном режиме создать записи:

  • HOST/dns имя компьютера
  • HOST/полное FQDN имя
  • RestrictedKrbHost/dns имя компьютера
  • RestrictedKrbHost/полное FQDN имя
  • TERMSRV/dns имя компьютера
  • TERMSRV/полное FQDN имя

отредактированный servicePrincipalName
После этих внесений, в идеале перезагрузить этот компьютер, но работать будет и без этого. Еще одно дополнение, если вы хотите увеличить период смены пароля у учетных записей компьютеров, то это можно сделать с помощью групповой политики, отредактировав текущую или создав новую. Я вам предлагаю вам отредактировать политику Default Domain Controllers Policy. Перейдите по пути:

Конфигурация компьютера-Политики-Конфигурация Windows-Параметры безопасности-Локальные политики-Параметры безопасности-Computer Configuration-> Windows Settings-> Security Settings-> Local Policies-> Security Options (Computer Configuration-Windows Settings-Security Settings-Local Policies-Security Options)

Увеличить период сброса учетной записи в AD

По умолчанию стоит значение 30, можете легко поменять, я например, установлю 90 дней.

Отключение режима проверки уникальности имени участника-пользователя и имя участника-службы

Бывают случаи, что по ряду причин нет возможности удалить дублирующий объект. Для таких сценариев компания Microsoft выпустила обновление для Windows Server 2012 R2 и выше, которое позволяет на контроллерах домена, управлять поведением обнаружения дубликатов.

С помощью этого обновления корпорация Майкрософт предоставляет переключатель уровня леса выключить или включить проверку на уникальность посредством атрибута dSHeuristics.

Ниже приведены поддерживаемые dSHeuristics значения.

  • dSHeuristic = 1: AD DS позволяет добавлять имена участников-пользователя (UPN)
  • dSHeuristic = 2: AD DS позволяет добавлять имена участников повторяющихся службы (SPN)
  • dSHeuristic = 3: AD DS позволяет добавление повторяющихся имен SPN и UPN
  • dSHeuristic = любое другое значение: службы AD DS применяет проверка уникальности имен SPN и UPN

ссылка на подробное описание данного обновления https://support.microsoft.com/ru-ru/help/3070083/duplicate-spn-check-on-windows-server-2012-r2-based-domain-controller

Ссылка на само обновление https://www.catalog.update.microsoft.com/Search.aspx?q=3070083

Вот так вот просто решается ошибка с отсутствием в базе данных Active Directory учетной записи компьютера для регистрации. С вами был Иван Семин, автор и создатель компьютерного портала Pyatilistnik.org.

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

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