Как зайти по RDP, если истек срок действия пароля (NLA)
Симптомы блокировки входа через RDP из-за пароля
Когда у доменной учетной записи пользователя истекает срок действия пароля (Maximum password age policy), при попытке подключиться к удаленному рабочему столу или серверу терминалов соединение мгновенно сбрасывается ДО появления экрана смены пароля. Клиент выдает системную ошибку: Произошла ошибка проверки подлинности. Указанная учетная запись не существует или истек срок действия пароля или «The user account's password must be changed before signing in».
| Механизм защиты | Поведение подключения | Причина невозможности смены пароля |
|---|---|---|
| NLA включен (по умолчанию) | Ошибка подключения до создания сессии | NLA требует успешного прохождения Kerberos/NTLM до инициализации графической оболочки |
| NLA отключен | Открывается экран Windows Logon | Пользователю предлагается ввести старый пароль и дважды новый |
| RD Web Access / RD Gateway | Редирект на страницу /RDWeb/Pages/ | Позволяет сменить пароль через защищенный веб-интерфейс IIS |
Способы смены пароля при истекшем сроке и активном NLA
- Временное отключение NLA в параметрах RDP-файла (на стороне клиента): сохраните подключение в файл
connection.rdp, откройте его в Блокноте и добавьте/измените параметр:enablecredsspsupport:i:0 authentication level:i:2Это принудительно отключит предварительную проверку CredSSP, и сервер отобразит графический экран входа Windows с диалогом смены пароля.
- Вход через веб-портал RDWeb Password Change: если в домене развернута роль Remote Desktop Web Access, перейдите в браузере по ссылке:
https://rds-server.domain.com/RDWeb/Pages/en-US/password.aspx(Функция включается в IIS через параметр
PasswordChangeEnabled = trueвweb.config). - Удаленная смена пароля через PowerShell с компьютера клиента: если учетная запись заблокирована только по сроку, пароль можно сменить по протоколу LDAP без открытия RDP-сессии:
[System.DirectoryServices.AccountManagement.PrincipalContext]$ctx = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain, "DOMAIN.COM"); [System.DirectoryServices.AccountManagement.UserPrincipal]$user = [System.DirectoryServices.AccountManagement.UserPrincipal]::FindByIdentity($ctx, "UserName"); $user.ChangePassword("СтарыйПароль", "НовыйПароль123!"); - Временное отключение требования NLA на сервере (для администраторов):
(Get-WmiObject -class Win32_TSGeneralSetting -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").SetUserAuthenticationRequired(0)
Внимание: Полное отключение NLA на терминальных серверах снижает защищенность инфраструктуры от атак типа Man-in-the-Middle и уязвимостей RDP (BlueKeep). Используйте отключение CredSSP локально в rdp-файле только как разовый аварийный инструмент.
Частые вопросы (FAQ)
Что такое NLA (Network Level Authentication)?
Аутентификация на уровне сети (NLA) — это механизм проверки подлинности пользователя через CredSSP до установки полноценного сеанса RDP и загрузки экрана приветствия, защищающий сервер от DoS-атак.
Почему параметр enablecredsspsupport:i:0 не срабатывает на Windows 11?
В современных сборках Windows 11 клиентский брандмауэр и политики RestrictedAdmin могут блокировать незащищенные NLA-подключения. Проверьте политику 'Требовать использование специального уровня безопасности для удаленных подключений'.
Как пользователь может сменить пароль заранее до его истечения внутри RDP?
Находясь внутри удаленной сессии RDP, необходимо нажать комбинацию клавиш Ctrl + Alt + End и выбрать пункт 'Изменить пароль'.
Можно ли сменить пароль через Outlook Web App (OWA)?
Да, если в организации используется почтовый сервер Exchange, веб-интерфейс OWA перехватывает истекший пароль и предоставляет форму для его безопасного обновления.