Пользователь может самостоятельно сменить пароль своей учетной записи на рабочей станции Windows, нажав сочетание клавиш
CTRL + ALT + Del
и выбрав в открывшемся меню пункт Изменить пароль (Change Password). Однако если вы подключены к удаленному компьютеру через RDP сессию и хотите сменить свой пароль на нем, нажатие комбинации клавиш CTRL + ALT + Del не передастся в терминальную сессию удаленного рабочего стола, а вызовет окно смены пароля на вашем локальном компьютере.
В этой статье мы рассмотрим, как пользователь может изменить свой пароль на удаленном компьютере в RDP сессии (это может быть как Windows Server с ролью RDS, так и десктоп с Windows 10/11 к которому разрешены множественные RDP подключения).
Начиная с Windows Server 2016/Windows 10 пользователь может изменить свой пароль через приложение Settings -> Accounts -> Sign-in options -> Password -> Change. Но пользователи обычно затрудняются при поиске этого пункта настроек. Потому для вызова окна смены пароля удобнее использовать другие способы.
Смена пароля в RDP с помощью комбинации CTRL + ALT + END
При подключении к удаленному рабочему столу для вызова окна смены пароля в сессии пользователя вместо привычной комбинации нужно использовать Ctlr + Alt + End. Эта комбинация клавиш является аналогом Ctlr + Alt + Delete, но работает только в окне RDP подключения.
Это сочетание вызывает специальный экран Безопасности Windows (Windows Security), с которого пользователь может изменить свой пароль, нажав Change a password.
И в стандартном диалоговом окне нужно указать старый пароль и два раза новый.
Смена пароля с помощью экранной клавиатуры на удаленном рабочем столе
Если вы подключены к удалённому рабочему столу сервера через цепочку промежуточных RDP хостов (джамп-хостов), использовать комбинацию
CTRL+ALT+END
для смены пароля пользователя не удастся. Дело в том, что нажатие этой комбинации клавиш будет перехвачено первым RDP сеансом (окном).
В таких случаях для смены пароля пользователя можно воспользоваться стандартной экранной клавиатурой Windows (On-Screen Keyboard).
- Запустите On-Screen Keyboard в целевом RDP сеансе (проще всего набрать
osk.exe
в меню Пуск->Выполнить); - Перед вами появится экранная клавиатура;
- На своей физической (локальной) клавиатуре зажмите клавиши
CTRL+ALT
(это должно отобразиться на экране), и затем на экранной клавиатуре нажмите мышкой по кнопкеDel
; - В результате в удаленную RDP сессию будет отправлено сочетание клавиш Ctrl+Alt+Del. Должно открыть стандартное окно безопасности Windows из которого можно сменить пароль.
Скрипт вызова окна смены пароля в RDP сессии
Диалоговое окно Windows Security для смены пароля в RDP сессии можно вызвать программное с помощью VBS/PowerShell скрипта или специального shell-ярлыка.
Например, создайте на рабочем столе файл WindowsSecurity.vbs со следующим кодом VBScript:
set objShell = CreateObject("shell.application")
objshell.WindowsSecurity
При двойном щелчке по VBS файлу перед вами откроется окно смены пароля.
На RDS сервере вы можете поместить этот VBS файл на общий рабочий стол (
%SystemDrive%\Users\Public\Desktop\
) или скопировать его на рабочие столы пользователей через GPO.
Можно вызвать это окно смены пароля Windows Security с помощью PowerShell. Выполните команду:
(New-Object -COM Shell.Application).WindowsSecurity()
Для удобства запуска пользователями можно создать ярлык на рабочем столе с командой:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -nologo -noninteractive -command "(new-object -ComObject shell.application).WindowsSecurity()"
Есть еще вариант. Создать ярлык проводника Windows Explorer со следующей shell-командой:
C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}
Изменить пароль пользователя через Remote Desktop Web Access
Если вы получаете удаленный доступ к RDS серверам через веб интерфейс Remote Desktop Web Access (RDWA), вы можете включить возможность смены истекшего пароля на веб-странице входа RDWA.
Откройте на сервере с роль RD Web Access консоль IIS Manager (
InetMgr.exe
) и перейдите в раздел Sites –> Default Web Site –> RDWeb –> Pages и откройте настройки приложения (Application Settings).
Измените значение опции PasswordChangeEnabled на true.
Перезапустите IIS:
iiseset
Теперь для смены пароля пользователя в веб интерфейсе RDS-WebAccess перейдите по ссылке:
https://[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx
Смена истекшего пароля по RDP при включенном CredSSP NLA
В современных версиях Windows для протокола RDP по умолчанию включена опции опция Network Level Authentication (NLA) с протоколом Credential Security Support Provider (CredSSP). CredSSP с NLA для RDP обеспечивают дополнительную защиту терминального сервера за счет выполнения аутентификации пользователя до установки RDP сеанса.
Если у пользователя истек пароль, или администратор AD через атрибуты пользователя включил ему опцию userAccountControl «Требовать смену пароля при первом входе в систему/ User must change password at next logon» (чаще всего это опцию включают для новых учетных записей AD), то при входе в систему по RDP появится ошибка:
Remote Desktop Connection You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support.
Подключение к удаленному рабочему столу Перед первым входом в систему необходимо сменить пароль. Обновите пароль либо обратитесь к вашему системному администратору или в службу технической поддержки.
Как результат — пользователь не сможет подключиться к RDP серверу и сменить пароль.
В этом случае, чтобы пользователь мог самостоятельно сменить пароль, можно:
- Настроить RDWA со страницей смены пароля как описано выше;
- Отключить NLA на RDP сервере (не рекомендуется!!!, т.к. существенно снижает уровень безопасности для RDP подключений) и использовать для подключения .RDP файл со строкой
enablecredsspsupport:i:0
; - Создать отдельный RDP хост только для смены пароля. На этот сервер не нужно устанавливать роль Remote Desktop Session Host, не нужно добавлять пользователей в локальную группу доступа Remote Desktop Users, но нужно отключить NLA. В этом случае пользователи смогу сменить пароль, но не смогут войти на сервер по RDP
- Пользователь может изменить свой пароль удаленно через PowerShell (если у него есть сетевой доступ к контроллеру домена).