Я думаю, многие администраторы сталкивались с проблемой, когда компьютер не может пройти проверку подлинности в домене и при попытке логона пользователя выдает сообщение: The trust relationship between this workstation and the primary domain failed («Не удалось установить доверительные отношения между этой рабочей станцией и основным доменом»).
В общем-то причина появления такой ошибки известна. Все компьютеры в домене Windows имеют свой собственный пароль и по умолчанию должны менять его каждые 30 дней. Однако если по какой либо причине эти пароли не совпадают, то компьютер не может пройти аутентификации в домене (установить доверительные отношения и безопасный канал).
Такое рассогласование может произойти в случае, если компьютер был восстановлен из резервной копии, созданной раньше момента последней смены пароля компьютера в домене (особенно часто это случается при восстановлении виртуальной машины из снапшота), или же произошла принудительная смена пароля в домене, а на компьютер эти изменения по какой-либо причине не попали (например, была сброшена или перезатерта учетная запись ПК).
В принципе, избежать такую ситуации можно, запретив смену пароля в в домене групповой политике (например, только для виртуальных машин), но, естественно это небезопасно и делать это обычно не рекомендуется.
В таких случаях, системный администратор обычно просто заново включал вылетевший компьютер в домен. Но для этого компьютер нужно перезагружать. Мне захотелось найти альтернативу такому решению, и как оказалось, оно существует. Для этого можно воспользоваться Powershell.
- Откройте консоль PowerShell
- Введите команду
Test-ComputerSecureChannel
- Если в ответ мы получим False, это означает что невозможно установить безопасный канал между клиентом и контроллером домена. А т.к. не устанавливается безопасный канал, то и залогинится с доменной учетной записью нельзя.
- Чтобы сбросить и синхронизировать пароль компьютера в домене, воспользуемся командой
Test-ComputerSecureChannel –Credential -Repair
- В появившемся окне введите имя пользователя, которому разрешено управлять учетной записью компьютера в домене и его пароль
- После чего еще раз проверим возможность установки безопасного канала первой командой, если все получилось, она вернет True
- Осталось выйти из системы и зайти под доменной учетной записью
Вот так быстро и просто мы сбросили пароль учетной записи компьютера в домене без перезагрузки компьютера. Указанная методика была проверена на Windows 8 и Windows 7.
Как сбросить пароль администратора в Windows
Чтобы сбросить и синхронизировать пароль компьютера в домене, воспользуемся командой
С такой командой он использует учетную запись локального пользователя, под которым я смог зайти, т.е. локальный админ, который соответственно не имеет прав присоединения к домену. Дополнительное окошко у меня не вышло в этом случае. Я чуть поправил команду и все получилось.
а никак не заотело работать
ругается на само слово Credential
PS C:\Users\user> Test-ComputerSecureChannel -Credential domain\admin -Repair
Test-ComputerSecureChannel : A parameter cannot be found that matches parameter name ‘Credential’.
At line:1 char:39
+ Test-ComputerSecureChannel -Credential «« domain\admin -Repair
+ CategoryInfo : InvalidArgument: (:) [Test-ComputerSecureChannel], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.TestComputerSecureChannelCommand
Какая версия ОС и Powershell? Насколько я помню параметр -Credential появился в Poweshell 3.0 (в 2.0 его не было)
Windows 7 Professional (с последними обновлениями)
C:\Windows>ver
Microsoft Windows [Version 6.1.7601]
PS C:\Users\user> $host.version
Major Minor Build Revision
—— —— —— ———
2 0 -1 -1
Просто в статье нигде не указано, что работает только с Windows 2008r2 или старше. Вот и попробовал на Windows 7. Да и не часто сервера из доменов вылетают 🙂
В вашем случае будет достаточно обновить версию PoSh.
на всех компьютерах компании? Windows Update не предлагает установить обновление для PSH.
В Windows Server 2008 R2 у меня получилось восстановить доверительные отношения сервера с доменом после восстановления ВМ из бэкапа такой командой:
netdom resetpwd /s:x.x.x.x /ud:domain\User /pd:*
x.x.x.x — адрес DC
domain\User — учетка с правами на объект компьютера в AD