Рано или поздно, но администраторам доменной сети на базе продуктов Microsoft приходится сталкиваться с двумя похожими ошибками: «Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом» и «База данных диспетчера учетных записей на сервере не содержит записи для регистрации компьютера через доверительные отношения с этой рабочей станцией» . Помимо данных сообщений также наблюдается невозможность зайти в компьютер под доменными учетными записями.

Разберем причины появления ошибок и методы их лечения.

В доменных сетях Windows всем компьютерам и учетным записям пользователей присваиваются свои идентификаторы безопасности (SID). В сущности, можно сказать, что каждый компьютер в домене также обладает своей учетной записью типа «компьютер». По аналогии с учетной записью пользователя, такая учетная запись тоже будет иметь пароль. Данный пароль создается и предъявляется компьютером контроллеру домена автоматически. Таким образом между рабочими станциями и контроллером домена и формируются те доверительные отношения, о которых упоминается в тексте ошибок.

Каждые 30 дней или при первом включении после длительного перерыва компьютер автоматически изменяет свой пароль. В теории всё красиво, и машина вроде бы не может ошибиться и «ввести» неправильный пароль. Однако иногда такое происходит по нескольким причинам.


Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом

Самой распространенной причиной является откат операционной системы Windows на более ранее состояние. Естественно, чем раньше была создана точка восстановления, тем больше вероятность появления ошибки. В данном случае после восстановления компьютер примется предъявлять контроллеру домена устаревший пароль, а контроллер уже содержит новый.

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

С возможными причинами разобрались. Теперь о решении проблемы. Способов несколько, но все они так или иначе заключаются в переустановке учетной записи компьютера или сбросе его пароля.

Первый способ заключается в переустановке учетной записи в .

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

Вторым способом является сброс пароля через . Оговоримся однако, что нам потребуется PowerShell версии 3.0 и выше. Также заходим на компьютер локальным администратором и вводим следующий командлет:

Reset-ComputerMachinePassword -Server DomainController -Credential Domain\Admin

В данном случае -Server это имя контроллера домена, а -Credential это учетная запись администратора домена.

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

Третий способ сброса пароля компьютера заключается в использовании утилиты Netdom , которая появилась в серверных ОС Microsoft начиная с Windows Server 2008. В клиентских операционных системах её можно добавить с помощью пакета RSAT (Средства удаленного администрирования сервера).

Как и в предыдущих способах, этот тоже выполняется из-под локального администратора. Введите в командной строке:

Netdom resetpwd /Server:DomainController /UserD:Admin /PasswordD:Password /SecurePasswordPrompt

Принцип схож с тем, что мы видели в примере с PowerShell. /Server это контроллер домена, /UserD — учетная запись администратора домена, /PasswordD — пароль от учетной записи администратора домена. Вы также можете использовать параметр /SecurePasswordPrompt , чтобы скрыть пароль за звездочками. Перезагрузка также не требуется.

Способ четвертый и последний в нашей статье заключается в использовании утилиты Nltest , которая по умолчанию есть на любой рабочей станции.

Запустим утилиту в командной строке и для начала проверим безопасное соединение с доменом:

Nltest /query

Затем сбросим учетную запись компьютера в домене:

Nltest /sc_reset:Domain

И, наконец, сбросим пароль компьютера:

Nltest /sc_change_pwd:Domain

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

Есть и еще одна ошибка, связанная с доверительными отношениями внутри домена и вынесенная в начало этой статьи. Выглядит она следующим образом:

В данном случае нам опять же поможет утилита Nltest . Снова проверяем безопасное соединение с доменом:

Nltest /query

Если появится сообщение об ошибке, то для исправления ошибки достаточно установить этот патч . Если же статус подключения будет NERR_Success , то выполняем следующие действия:

netdom reset /d:Domain ComputerName netdom reset /d:Domain ComputerName /server:DomainController /uo:Admin /po:Password

Во втором случае мы явно указываем контроллер домена, с которым хотим установить доверительные отношения.

Утилита порадует нас сообщением о том, что безопасный канал был сброшен и новое соединение установлено.

Итак, вот несколько способов восстановить доверительные отношения в домене. Надеюсь, что применять их вам придется как можно реже. 🙂

Данная тема возникло в связи с тем что пользователь edgi задал вопрос по поводу создания транзитивных отношений между двумя лесами и привел еще ссылку с форума http://sysadmins.ru/topic178164.html где пользователи спорят насчет того что нельзя устанавливать доверительные отношения между двумя лесами так как якобы нужен третий лес что бы обеспечить транзитивность ну и так далее....

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

Но давайте рассмотрим процесс установки доверительных отношений между лесами.

Примечание : Не забывайте что первый созданный домен есть и корневой домен и дерево и лес . То есть первый созданный домен в нашей сети по умолчанию нужно рассматривать и как корневой домен, и как лес и как дерево (три в одном стакане...простите флаконе)

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

Почему так важно что бы DNS службы этих доменов видели друг друга? А потому что в основе Windows Server нахождение (распознавание) контролеров домена происходит с помощью DNS службы. То есть если служба DNS в каком либо домене настроена неверно, то и нахождение данного контролера домена или контроллеров доменов (если их много) будет невозможно. То есть если сказать просто - контроллеры домена видят друг друга с помощью службы DNS . Думаю позже я опишу в отдельной статье процесс нахождения контролеров домена, а пока просто запомните что контроллеры домена "слепы" (ничего не видят в сети) без правильно настроенной службы DNS.

Как говорилось уже - доверительные отношения выступают в качестве связывающего звена между лесами, деревьями, доменами. Для администрирования доверительными отношениями используется оснастка Active Directory - домены и доверие, смотрите рисунок 1.



Рисунок 1.

Но перед тем как создать доверительные отношения опишем что мы имеем. Итак у нас два корневых домена и соответственно и леса и дерева, а именно rk.com и xu.com предположим что они принадлежат одной фирме и расположены в одной сети. IP адрес первого контролера домена с установленной интегрированной службой DNS с Active Directory (кто не помнит что это смотрите здесь) будет 192.168.0.1 (rk.com), а второго корневого домена леса 192.168.0.5 (xu.com). То есть служба DNS установлена и на первом и на втором контролере домена. (Как установить и настроить DNS найдете на сайте в других статьях)

Первое в чем мы должны убедится перед тем как приступить к созданию доверительных отношений это в том что корневые домены в обеих лесах видят друг друга через DNS. Для этого мы воспользуемся известной утилитой nslookup из корневого домена леса rk.com и посмотрим что она нам выдаст. Смотрите рисунок 2.



Рисунок 2.

На рисунке 2 (блин... наверно нужно писать не рисунок а фигуре, но простите великодушно...) видно что мы в командной строке набрали команду nslookup с параметром xu.com (соседнего леса) и она нам его выдала, что в принципе говорит о том что служба DNS работает и службы DNS видят друг друга. То же самое можно проделать и из корневого домена xu.com смотрите рисунок 3.



Рисунок 3.

Для того что бы настроить пересылку мы заходим в оснастку DNS контроллера домена что расположен на компе под именем server1, становимся на него, правой кнопкой мыши открываем контекстное меню, в контекстном меню выбираем свойства и кликаем на нем. Открывается окно показанное на рисунке 4 и выбираем вкладку "Пересылка".



Рисунок 4.

На этой вкладке нажимаем кнопку "Создать" и пишем имя домена куда мы хотим сделать пересылку. В нашем случае это корневой домен леса xu.com. Тут же на вкладке, чуть ниже в поле "Список IP - серверов пересылки для выбранного домена" - добавляем его IP адрес. В нашем примере это 192.168.0.5.

Ту же самое можно проделать на сервере контроллера домена xu.com...процесс абсолютно аналогичен только нужно писать другой домен и другой адрес. В нашем случае это домен rk.com и его IP - 192.168.0.1.

Итак после того как разобрались с DNS серверами и убедились что они видят друг друга переходим к созданию доверительных отношений и переходим к оснастке "Домены и доверие" показанное на рисунке1.

Далее если мы хотим что бы эти два леса (rk.com и xu.com) были соединены с друг другом посредством транзитивных доверительных отношений то нам необходимо установить режим функционирования леса на уровень "Windows Server 2003" (о режимах функционирования леса и домена смотри здесь). Поэтому мы в оснастке "Домены и доверие" становимся на верхнюю надпись "Active Directory - домены и доверие" и открываем правой кнопкой контекстное меню, смотрите рисунок 5.



Рисунок 5.

В контекстном меню выбираем пункт "Изменение режима работы леса... " и щелкаем по нему. Откроется окно с возможными режимами работы леса. Выберите режим работы "Windows Server 2003". Я не могу показать это окно с выбором режима работы так как у мена уже лес переведен в режим работы "Windows Server 2003", а перевод с этого режима функционирования на более низкие режимы функционирования леса невозможно, смотрите рисунок 6. То есть при выборе режима функционирования леса хорошо подумайте, так как перевести в другой режим работы леса просто невозможно....



Рисунок 6.

После того как повысили режим работы леса до максимально возможного а именно до "Windows Server 2003", в познавательных целях повысим и режим работы домена до уровня "Windows Server 2003". Для этого становимся на корневой домен и открываем контекстное меню, смотрите рисунок 7.



Рисунок 7.

Те же самые операции, то есть повышаем уровень леса и домена и на контроллере корневого домена xu.com.

Когда мы убедились что у нас леса (rk.com and xu.com)и домены работают в функциональном режиме "Windows Server 2003", приступаем к созданию транзитивных доверительных отношений между лесами.

Внимание! Если бы хоть один из лесов доменов находится на функциональном уровне "Windows 2000", то леса доменов могут быть соединены только внешними доверительными отношениями.

В оснастке "Домены и доверие" становимся на имени корневого домена, в нашем случае это rk.com и открываем контекстное меню правой клавишей мыши. Откроется окно показанное не рисунке 8. переходим на вкладку "Доверия".


Рисунок 8.

На данной вкладке нажимаем клавишу "Создать доверие". После того как нажали на данную клавишу открывается "Мастер создания отношений доверия", смотрите рисунок 9.



Рисунок 9.



Рисунок 10.

В поле "Имя", пишем имя домена с которым мы хотим создать доверительные отношения, в нашем примере это корневой домен леса xu.com....Давим клаву не - Далее....

Открывается окно с предложениями о выборе типа доверия, смотрите рисунок 11.



Здравствуйте Уважаемые читатели Хабрахабра! В просторах интернета каждый из нас может найти много отдельных статей о не прохождении аутентификации компьютера через домен-контроллер, если точнее сказать, компьютер подключенный к домену теряет связь с ним.

Итак, приступим к изучению этой проблемы.

У многих IT – инженеров, которые работают в больших и малых компаниях, имеются компьютеры с операционной системой Windows 7, 8.1 и т.п. и все эти компьютеры подключены к доменной сети (DC).

Данная проблема происходит из-за того, что сетевой протокол Kerberos не может синхронизироваться и пройти аутентификацию с компьютером (The trust relationship between this workstation and the primary domain failed), который подключен к домену. Тогда мы можем увидеть такую ошибку (см. фото ниже).

После чего мы ищем стороннюю программу, скачиваем ее, создаем загрузочную флешку и локального админа, далее логируемся через него и выходим с домена, добавляем компьютер в Workgroup-у и потом обратно подключаем этот компьютер к домену.

Используя Windows Batch scripting, я хочу создать bat file и автоматизировать процесс создания и добавления локального админа. Единственное, что нам будет необходимо, так это после создания данного файла запустить его.

Открываем наш текстовой редактор, вписываем команду, которая показана внизу.

Net user admin Ww123456 /add /active:yes WMIC USERACCOUNT WHERE "Name="admin"" SET PasswordExpires=FALSE net localgroup Administrators admin /add net localgroup Users admin /delete netsh advfirewall set allprofiles state off
Пройдем все команды по пунктам для устранения неясных моментов.

Net user admin (вместо слова админ Вы можете добавить любое имя, которое Вас устраивает, по умолчанию ставится administrator, в моем случае это admin).
Далее мы видем пароль, который я там поставил Ww123456(Вы можете поставить любой запоминающийся для Вас пароль).

После мы видем /add /active:yes –добавить и активировать: ДА

WMIC USERACCOUNT WHERE «Name="admin"» SET PasswordExpires=FALSE – данная команда означает, что админ, который добавляется, имел постоянный пароль без срока действия (см. картинку ниже).

Третий и четвертый пункт связаны между собой тем, что по умолчанию, когда создается локальный админ в пункте Member Of стоит Users (см. фото). Нам он не нужен (Users), потому что мы создаем полноправного администратора для нашей ОС. Поэтому четвертая команда - net localgroup Users admin /delete – удаляет Users, а предыдущая команда - net localgroup Administrators admin /add, добавляет администратора (см. фото).

Последняя команда- netsh advfirewall set allprofiles state off, отключает брандмаузер Windows-a.
Иногда, чтобы установить какую-либо программу или дать какую-либо команду в Windows-e необходимо отключить firewall (После запуска скрипта Вы можете ввести команду- netsh advfirewall set allprofiles state on и включить его заново. У меня по умолчанию стоит off, так как я использую сторонний брандмаузер. Данный момент на усмотрение каждого лично).

Далее идем к нашему блокноту, нажимаем File, save as… (сохранить как...) вводим имя нашего скрипта(в моем случае: localadmin).Затем ставим точку (.) и пишем формат скрипта bat. Выбираем место, где сохранить данную запись и нажимаем save. Более детально показано на картинке.

Получается вот такой скрипт (см. фото).

Данный скрипт при запуске необходимо открывать от имени администратора:

Нажимаем правую кнопку мыши и Run as administrator (см. фото).

После запуска скрипта у Вас должно появиться вот такое окошко (см. фото).

Если по каким-либо причинам выйдет ошибка, то в 90% таких случаев это связано с тем, что у Вас образ с которого Вы установили Windows, имеет нелицензионный характер, какие-либо repack или т.п. Скачивайте и используйте лицензионный и проверенный софт.

После удачного добавления локального админа, Вы можете этот скрипт запустить на всех рабочих машинах в Вашем офисе, в которых установлена ОС Windows.

Если у Вас когда-нибудь появится такая ошибка: The trust relationship between this workstation and the primary domain failed- Вам нужно будет только сделать switch user и где логин написать.\admin (запомните! В начале до слеша ставится точка!), далее внизу вводите пароль, который Вы добавили в Ваш скрипт (в моем случае: Ww123456). После этого Вы заходите на рабочую ОС.

Осталось снять наш компьютер с домена и добавить в Workgroup-у. Вместо Workgroup-а вписываем любую букву (см. фото).

Далее вводится пароль администратора домена и компьютер просит нас о перезагрузке.
После перезагрузки ещё раз заходим под нашим локальным админом и дальше уже добавляем компьютер к нашему домену. Система в очередной раз требует перезагрузиться и Вуаля! Наш User опять может подключиться к домену без всяких проблем!

P.S – Данная система работает также для серверной части Windows, однако если Вы будете писать такой скрипт для серверов после отключения брандмаузера необходимо будет включить его еще раз (до - netsh advfirewall set allprofiles state off, после netsh advfirewall set allprofiles state on).

Благодарю за внимание!

С ошибкой "Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом" время от времени приходится сталкиваться каждому системному администратору. Но не каждый понимает причины и механизмы процессов, приводящие к ее возникновению. Потому что без понимания смысла происходящих событий невозможно осмысленное администрирование, которое подменяется бездумным выполнением инструкций.

Учетные записи компьютеров, также, как и учетные записи пользователей, являются участниками безопасности домена. Каждому участнику безопасности автоматически присваивается идентификатор безопасности (SID) на уровне которого осуществляется доступ к ресурсам домена.

Перед тем как предоставить учетной записи доступ к домену необходимо проверить ее подлинность. Каждый участник безопасности должен иметь свою учетную запись и пароль, учетная запись компьютера не исключение. При присоединении компьютера к Active Directory для него создается учетная запись типа "Компьютер" и устанавливается пароль. Доверие на этом уровне обеспечивается тем, что данная операция производится администратором домена или иным пользователем, имеющим для этого явные полномочия.

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

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

Доверительные отношения нарушаются в том случае, если компьютер пытается аутентифицироваться в домене с недействительным паролем. Как такое может произойти? Самый простой способ - это откатить состояние компьютера, например, штатной утилитой восстановления системы. Такой же эффект может быть достигнут при восстановлении из образа, снапшота (для виртуальных машин) и т.п.

Еще один вариант - это изменение учетной записи другим компьютером с таким же именем. Ситуация довольно редкая, но иногда случается, например, когда сотруднику поменяли ПК с сохранением имени, выведя из домена старый, а потом снова ввели его в домен забыв переименовать. В этом случае старый ПК при повторном вводе в домен сменит пароль ученой записи компьютера и новый ПК уже не сможет войти, так как не сможет установить доверительные отношения.

Какие действия следует предпринять, столкнувшись с данной ошибкой? Прежде всего установить причину нарушения доверительных отношений. Если это был откат, то кем, когда и каким образом он был произведен, если пароль был сменен другим компьютером, то опять-таки надо выяснить, когда и при каких обстоятельствах это произошло.

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

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

Пользователи и компьютеры Active Directory

Это самый простой, но не самый быстрый и удобный способ. Открываем на любом контроллере домена оснастку Пользователи и компьютеры Active Directory , находим необходимую учетную запись компьютера и, щелкнув правой кнопкой мыши, выбираем Переустановить учетную запись .

Затем входим на потерявшем доверительные отношения компьютере под локальным администратором и выводим машину из домена.

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

Недостаток этого способа, что машину требуется выводить из домена, а также необходимость двух (одной) перезагрузки.

Утилита Netdom

Данная утилита входит в состав Windows Server начиная с редакции 2008, на пользовательские ПК ее можно установить из состава пакета RSAT (Средства удаленного администрирования сервера). Для ее использования войдите на целевой системе локальным администратором и выполните команду:

Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password

Разберем опции команды:

  • Server - имя любого доменного контроллера
  • UserD - имя учетной записи администратора домена
  • PasswordD - пароль администратора домена

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

Командлет PowerShell 3.0

В отличие от утилиты Netdom, PowerShell 3.0 входит в состав системы начиная с Windows 8 / Server 2012, для более старых систем его можно установить вручную , поддерживаются Windows 7, Server 2008 и Server 2008 R2. В качестве зависимости требуется Net Framework не ниже 4.0.

Точно также войдите на системе, для которой нужно восстановить доверительные отношения, локальным администратором, запустите консоль PowerShell и выполните команду:

Reset-ComputerMachinePassword -Server DomainController -Credential Domain\Admin

  • Server - имя любого контроллера домена
  • Credential - имя домена / учетной записи администратора домена

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

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

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