Недавно, после смены пароля у одного из пользователей домена, появилась проблема постоянной блокировки его аккаунта с совершенно другого компьютера в сети. На контроллере домена при этом повторялось событие Audit Failure, Event ID 4771
Kerberos pre-authentication failed.
Account Information:
Security ID: domain\username
Account Name: username
Service Information:
Service Name: krbtgt/domain
Network Information:
Client Address: ::ffff:192.168.56.74
Client Port: 63115
Additional Information:
Ticket Options: 0x40810010
Failure Code: 0x12
Pre-Authentication Type: 0
Блокируемый пользователь не был залогинен на этом компьютере, его профиль был оттуда удален, сохраненных паролей через control userpasswords2 не было.
После долгого гугления нашел следующий совет:
There are passwords that can be stored in the SYSTEM context that can’t be seen in the normal Credential Manager view.
Download PsExec.exe from http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx and copy it to C:\Windows\System32.
From a command prompt run: psexec -i -s -d cmd.exe
From the new DOS window run: rundll32 keymgr.dll,KRShowKeyMgr
Remove any items that appear in the list of Stored User Names and Passwords. Restart the computer.
И вот тут-то как раз и оказался сохранен его пароль для доступа к файловому серверу! После удаления сохраненного пароля проблема ушла.
psexec — скачать PSTools
Непонятно зачем тут psexec, если через него просто запускается cmd. Сразу запустил cmd и ввёл rundll32 keymgr.dll,KRShowKeyMgr — отобразились сохранённые учётки.
Чтобы открыть cmd в контексте системы
Я года два мучился, просто переименовывая учетки. Оказалось — вот оно, решение. Спасибо!