Заметки о Windows и других программных продуктах Microsoft...

Восстанавливаем доверие в домене

Восстанавливаем доверие в домене

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

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

сообщение о потери доверия между компьютером и доменом

Для восстановления доверительных отношений существует несколько способов. Рассмотрим их все по порядку.

Способ первый

Открываем оснастку «Active Directory Users and Computers» и находим в ней нужный компьютер. Кликаем на нем правой клавишей мыши и в контекстном меню выбираем пункт «Reset Account». Затем заходим на компьютер под локальной учетной записью и заново вводим его в домен.

сброс учетной записи компьютера

 

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

Способ этот довольно громоздкий и небыстрый, т.к. требует перезагрузки, однако работает в 100% случаев.

Способ второй

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

Netdom Resetpwd /Server:SRV1 /UserD:Administrator /PasswordD:*

где SRV1 — контролер домена, Administrator — административная учетная запись в домене. Дополнительно можно указать параметр /SecurePasswordPrompt, который указывает выводить запрос пароля в специальной форме.

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

Сброс пароля компьютера с помощью Netdom

 

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

Еще с помощью Netdom можно проверить наличие безопасного соединения с доменом:

Netdom Verify WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*

Или сбросить учетную запись компьютера:

Netdom Reset WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*

где WKS1 — рабочая станция, которой сбрасываем учетку.

сброс безопасного подключения с помощью Netdom

 

Способ достаточно быстрый и действенный, однако есть одно но: по умолчанию утилита Netdom есть только на серверах с установленной ролью  Active Directory Domain Services (AD DS). На клиентских машинах она доступна как часть пакета удаленного администрирования Remote Server Administration Tools (RSAT).

Способ третий

Еще одна утилита командной строки — Nltest. На компьютере, который потерял доверие, выполняем следующие команды:

Nltest /query проверить безопасное соединение с доменом;

Nltest /sc_reset:Contoso.comсбросить учетную запись компьютера в домене;

Nltest /sc_change_pwd:Contoso.comизменить пароль компьютера.

сброс учетной записи компьютера с помощью nltest

 

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

Способ четвертый

PowerShell тоже умеет сбрасывать пароль копьютера и восстанавливать безопасное соеднение с доменом. Для этого существует командлет Test-ComputerSecureChannel . Запущенный без параметров он выдаст состояние защищенного канала — True или False.

Для сброса учетной записи компьютера и защищенного канала можно использовать такую команду:

Test-ComputerSecureChannel -Server SRV1 -Credential Contoso\Administrator -Repair

где SRV1 — контролер домена (указывать не обязательно).

сброс безопасного соединения с помощью PowerShell

 

Для сброса пароля также можно также воспользоваться такой командой:

Reset-ComputerMachineChannel -Server SRV1 -Credential Contoso\Administrator

сброс пароля компьютера в домене с помощью PowerShell

 

Способ быстрый и удобный, не требующий перезагрузки. Но и здесь есть свои особенности. Ключ -Credential впервые появился  в PowerShell 3.0. Без этого параметра командлет, запущенный из под локального пользователя, выдает ошибку доступа. Получается что данный метод можно использовать только на  Windows 8 и Server 2012, ведь для остальных ОС PowerShell 3.0 пока недоступен.

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

Изменение параметров смены пароля компьютера

Смена пароля в домене происходит следующим образом:

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

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

Если настройки необходимо применить к группе компьютеров, то проще всего использовать групповую политику. Настройки, отвечающие за смену паролей, находятся в разделе Computer Configuration — Policies — Windows Settings — Security Settings — Local Policies — Security Options. Нас интересуют следующие параметры:

Disable machine account password change — отключает на локальной машине запрос на изменение пароля;

Maximum machine account password age — определяет максимальный срок действия пароля компьютера. Этот параметр определяет частоту, с которой член домена будет пытаться изменить пароль. По умолчанию срок составляет 30 дней, максимально можно задать 999 дней;

Refuse machine account password changes — запрещает изменение пароля на контролерах домена. Если этот параметр активировать, то контролеры будут отвергать запросы компьютеров на изменение пароля.

настройка политик изменения пароля компьютера в домене

 

Для одиночной машины можно воспользоваться настройками реестра. Для этого в разделе HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters есть два параметра :

 DisablePasswordChange — если равен 1, то запрос на обновление пароля компьютера отключен, 0 — включен.

MaximumPasswordAge — определяет максимальный срок действия пароля компьютера в днях. При желании можно задать более 1 миллиона дней !!!

настройки смены пароля компьютера через реестр

 

И в разделе HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters, только у контролеров домена, параметр:

RefusePasswordChange — если равен 1, то запрещает контролеру домена принимать запрос на изменение пароля. Этот параметр надо задать на всех контролерах в домене.

изменение параметров смены пароля компьютера в реестре

 

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

 
 
Комментарии
Артем

Пасиб! Очень полезная статья. Часто сталкиваюсь с данной проблемой, после смены ДК с 2003 на 2008.

Спасибо за статью. Уже несколько раз пользовался изложенными решениями.

Александр

Спасибо! Очень полезная статья!

Сергей Шаров

Скажите, а как можно сменить пароль компьютера, чтобы остались доверительные отношения и знать этот пароль!

При программной смене
Set objComputer = GetObject(«LDAP://CN=computername,DC=WINDOWS2000,DC=COM»)
objComputer.SetPassword «122qwe»

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

Nltest /sc_change_pwd:computername

Наверное, не поможет, т.к. будет посылать первоначальный пароль = computername$, а в домене другой пароль :(.

Не люблю отвечать вопросом на вопрос 🙂 , но все же зачем знать пароль компьютера?

Настя

Добрый день.
Благодарю Вас за полезные заметки.
У меня случилась похожая проблема: я переустановила windows, установила windows7, добавила его в домен.
Несколько дней он нормально входил в домен, а затем он вылетел из домена.
Пишет ошибки: не удалось установить доверительные отношения с доменом.
Локального администратора на проблемной машине я к сожалению не успела включить.
Пробовала включить различными способами (командная строка, безопасный режим, с помощью Live cd)- ничего не выходит- везде нет доступа или включается (загрузилась с помощью Live cd, включила с помощью командной строки лок. администратора), но при перезагрузке локальный администратор выключен. В AD — я и переустанавливала учетную запись, а потом и вовсе удалила компьютер
Скачала утилиту PowerShel- версия 1- тоже выдает ошибку:условие Test не распознано как командлет, функция, выполняемая программа или файл сценарий.

При установке ОС создается как минимум одна учетная запись с правами администратора. Соответственно надо загрузиться с Live CD и сбросить на ней пароль. Затем зайти под этой учеткой и вывести компьютер из домена. Удалить компьютер в AD, затем завести его заново. Как то так 🙂

Настя

ДОброе утро. заходила с помощью Live-cd, есть учетная запись администратора- но она отключена. пробовала ее включить- результат в командной строке- что выполнено успешно, перезагружаюсь -учетная запись лок. админа снова выключена. Попробую Ваш вариант сбросить пароль…

Настя

Добрый день.
Решила проблему. Помогла эта ссылка:
http://windows7life1.wordpress.com/2011/02/22/%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC-%D1%81-%D1%83%D1%82%D0%B5%D1%80%D1%8F%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F%D0%BC/

Получилось загрузиться с помощью Live cd, зашла в реестр.
Спасибо за помощь

Евгений

Сталкивался не раз с данной проблемой. Делал так. Заходил под локальным админом и тут же по новой проводил идентификацию в домене тем же пользователем. Единственное на последней стадии НЕ добавлял пользователя вновь. Перезагрузка и все ок

Леонид

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

Тоже возникает проблемка… оказалось, что зачастую юзвери не дожидаются выключения машины, а отрубают кнопкой. Как результат, восстановление и отсутствие доверия. Решали способом выгнать/загнать обратно в домен.
P.s. и по ушам юзверям на будущее.

команда

«Netdom Reset WKS1 /Domain:Contoso.com /UserO:Administrator /PasswordO:*»

выполняет тоже самое, что и Reset Acoount с помощью оснастки AD?

Да, это команда для сброса аккаунта компьютера.

Андрей

Интересно, а как можно решить проблему на Windows Thin PC (без возможности создания локальных учетных записей)?

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

Роман

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

На контроллер домена можно войти локально, для этого есть режим восстановления (Directory Services Restore Mode). Выбирается этот режим при загрузке, по клавише F8 в Server 2003-2008 или Shift+F8 в Server 2012.

S_corp_ion

Было такое на одном ПК. Благо дал под админом домена зайти, думаю под локальным администратором тоже можно было провернуть действия. Переидентифицировал компутер и всё восстановилось (после перезагрузки)
Вкладка «Имя компьютера» — Идентификация, Далее, Далее, вводим логин/пароль Админа, далее он говорит есть такая учетная запись для этого компутера. И в принципе всё. Завершаем, перезагружаемся, грузимся под нужным пользователем.

Андрей

Добрый день! у меня аналогичная ситуация НО не пускает ни под каким пользователем ни локальным (админ или юзер), ни доменым. Сбрасывал пароль с помощью не помню какой утилиты, но всё равно не пускает ваша учётка отключена и всё. Поэтому ни один из вышеописанных способов мне не подходит. Переустановка системы?

Вот здесь описана процедура сброса пароля. По аналогии из командной строки можно добавить пользователя с административными правами:
net user «username» «password» /add
net localgroup Administrators «username» /add

Thx, man. Твоя статья спасла мой сервер ))))

А у меня такая ситуация:
Есть клиентская рабочая станция, которая входит в доменную сеть domen_name.int. Данная рабочая станция авторизуется в домене как user#xx и пароль.
На данной рабочей станции с самого начала сделана резервная копия системного диска. Ну и однажды пришлось эту резервную копию системы восстановить, после чего при попытке войти в систему, а значит и в домен выводится сообщение: «Не удалось установить доверительное отношение с основным Доменом». Но если отключить сетевой кабель (LAN-кабель), то после этого под этим логином и паролем можно войти в систему, но не в домен, хотя и локальной сетью пользоваться можно. Надо сказать, что логин и пароль неизменные всё время, пароль не изменяется с периодом в 30 или менее/более дней.
Полагаю, что есть какой-то ключ авторизации в домене, после истечения срока действия которого, домен присваивает этой рабочей станции другой ключ.
Доступа к серверу домена нет, я не являюсь администратором. Можно ли как-то извлечь этот ключ из клиентского компьютера и потом прописать этот ключ в нужном месте после восстановления свежего бэкапа системного диска? Можно ли запретить изменение этого ключа сервером и/или клиентом, т.е. можно ли сделать этот ключ пожизненным? Поможет эта статья в моём случае или если нет доступа к серверу, то бесполезно что-либо делать на клиентской машине?

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

Разве если компьютер долго не включался это повлияет? Он по идее включится и обновит пароль