Нарушение доверительных отношений между рабочей станцией и контроллером домена (решение)

Материал из Wiki Test Lab
Перейти к: навигация, поиск

Назад    Главная
 

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

В сети с парком в 150 машин после обновление операционной системы до MS Windows 7 стала постоянно наблюдаться проблема со входом пользователя в систему. В один прекрасный день пользователь включив компьютер обнаруживал, что войти в систему он не может, при этом видит ошеломляющее по своей информативности сообщение: «Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом»

Решение тут одно. Вывести машину из домена и ввести обратно. Когда в день эта ситуация стала повторятся больше одного раза, да и просто надоело, задумался о профилактике. И вот тут интернет промолчал. После некоторого времени уныния, а уныние, как известно — грех, было решено копать. В результате пыток раскопок, была получена причина 99% случаев (и я подозреваю что оставшийся 1% просто не признался в той же самой причине). Причина — это служба восстановления при загрузке, которая включается при некорректном завершении работы. На первом же экране диалога служба спрашивает пользователя восстанавливать систему или нет. В случае положительного ответа система откатывается до более раннего состояния и, возможно, бьется sid машины. Как бы то ни было, домен пускать к себе пользователей с такой машину после такой операции не станет. Надеяться на пользователя в таком вопросе бесполезно. Можно просить его отказываться, в случае возникновения такой ситуации, но пользователь с очень большой вероятностью нажмет кнопку «восстановить» а потом разведет руками, мол бес попутал. В общем надо пакетно отключить службу восстановления при загрузке на n-машинах.

Локально решение выглядит, как консольная команда:


reagentc.exe /disable

Для сети потребуется утилита PsExec из пакета Microsoft Sysinternals PsTools, описание утилиты и сам пакет лежат тут

psexec.exe кладем в одну папку с нашим командным файлом (назовем его broff.cmd) внутри broff.cmd пишем:

Получаем список компьютеров в сети, чистим от мусора и кладем в net.lst
net.exe view  /domain:megafon >>net.tmp
for /f "tokens=1,2 delims= " %%i in (net.tmp) do (Echo %%i>>net1.tmp)
for /f "tokens=1,2 delims=\" %%i in (net1.tmp) do (Echo %%i>>net.lst)
DEL *.TMP
Проходимся по списку и отключаем boot recovery
for /f "tokens=1,2 delims= " %%F in (net.lst) do (
start psexec \\%%F  reagentc.exe /disable)
Личные инструменты