Смена пароля в терминале windows

Пользователь может самостоятельно сменить пароль своей учетной записи на рабочей станции Windows, нажав сочетание клавиш
CTRL + ALT + Del
и выбрав в открывшемся меню пункт Изменить пароль (Change Password). Однако если вы подключены к удаленному компьютеру через RDP сессию и хотите сменить свой пароль на нем, нажатие комбинации клавиш CTRL + ALT + Del не передастся в терминальную сессию удаленного рабочего стола, а вызовет окно смены пароля на вашем локальном компьютере.

В этой статье мы рассмотрим, как пользователь может изменить свой пароль на удаленном компьютере в RDP сессии (это может быть как Windows Server с ролью RDS, так и десктоп с Windows 10/11 к которому разрешены множественные RDP подключения).

Содержание:

  • Смена пароля в RDP с помощью комбинации CTRL + ALT + END
  • Смена пароля с помощью экранной клавиатуры на удаленном рабочем столе
  • Скрипт вызова окна смены пароля в RDP сессии
  • Изменить пароль пользователя через Remote Desktop Web Access
  • Смена истекшего пароля по RDP при включенном CredSSP NLA

Начиная с Windows Server 2016/Windows 10 пользователь может изменить свой пароль через приложение Settings -> Accounts -> Sign-in options -> Password -> Change. Но пользователи обычно затрудняются при поиске этого пункта настроек. Потому для вызова окна смены пароля удобнее использовать другие способы.

Нажать кнопку смены пароля в приложении Settingssettings

Смена пароля в RDP с помощью комбинации CTRL + ALT + END

При подключении к удаленному рабочему столу для вызова окна смены пароля в сессии пользователя вместо привычной комбинации нужно использовать Ctlr + Alt + End. Эта комбинация клавиш является аналогом Ctlr + Alt + Delete, но работает только в окне RDP подключения.

Это сочетание вызывает специальный экран Безопасности Windows (Windows Security), с которого пользователь может изменить свой пароль, нажав Change a password.

изменить пароль в RDP с помощью комбинации Ctlr + ALt + End

И в стандартном диалоговом окне нужно указать старый пароль и два раза новый.

сменить пароль удаленно в rdp сессии

Смена пароля с помощью экранной клавиатуры на удаленном рабочем столе

Если вы подключены к удалённому рабочему столу сервера через цепочку промежуточных RDP хостов (джамп-хостов), использовать комбинацию
CTRL+ALT+END
для смены пароля пользователя не удастся. Дело в том, что нажатие этой комбинации клавиш будет перехвачено первым RDP сеансом (окном).

В таких случаях для смены пароля пользователя можно воспользоваться стандартной экранной клавиатурой Windows (On-Screen Keyboard).

  1. Запустите On-Screen Keyboard в целевом RDP сеансе (проще всего набрать
    osk.exe
    в меню Пуск->Выполнить);
  2. Перед вами появится экранная клавиатура;
  3. На своей физической (локальной) клавиатуре зажмите клавиши
    CTRL+ALT
    (это должно отобразиться на экране), и затем на экранной клавиатуре нажмите мышкой по кнопке
    Del
    ;

    экранная клавиатура - послать ctrl+alt+del в rdp сессию

  4. В результате в удаленную 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.

скрипт vbs на рабочем столе rds сервера для самостоятельной смены пароля пользователея

Можно вызвать это окно смены пароля 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()"

Ярлык для PowerShell команды смены пароля в rdp

Есть еще вариант. Создать ярлык проводника Windows Explorer со следующей shell-командой:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

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

Форма смены пароля пользователя на rd web access windows 2012

Смена истекшего пароля по 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
    RDP отключение проверки поддлинности на уровне сети (NLA)

  • Пользователь может изменить свой пароль удаленно через PowerShell (если у него есть сетевой доступ к контроллеру домена).

При использовании удалённого подключения к операционным системам Microsoft Windows/Windows Server по протоколу RDP в некоторых случаях может возникать потребность в смене пароля учётной записи пользователя. При этом инициатором смены пароля в разных ситуациях может выступать как сам пользователь, так и администратор Windows-системы. В  некоторых сценариях может получиться так, что, казалось бы, несложная задача смены пароля может стать не такой уж и простой. Поэтому в данной записи я попробую собрать информацию о самых разнообразных способах смены пароля учётной записи пользователя в RDP-сессии.

Способ №1 — «Горячие» клавиши

В случае, если пользователю Windows необходимо самостоятельно изменить пароль своей учётной записи, то в стандартной Windows-сессии пользователем может использоваться всем известное сочетание «горячих» клавиш Ctrl-Alt-Del. Это сочетание клавиш вызывает специальный экран Безопасности Windows (Windows Security), с которого доступна функция изменения пароля:

Если же речь заходит об использовании горячих клавиш в RDP-сессиях, то стоит заметить то, что во избежание перехвата некоторых сочетаний клавиш локальной клиентской системой (системой, с которой запускается RDP-клиент), перенаправление сочетаний клавиш Windows должно быть явно разрешено в свойствах RDP-клиента. Например в клиенте mstsc.exe, встроенном в Windows, данную опцию можно включить на закладке управления локальными ресурсам.

В стандартной первичной RDP-сессии для вызова специального экрана Безопасности Windows с функцией изменения пароля используется сочетание клавиш: CtrlAltEnd

В случае использования вложенных RDP-сессий (второго и последующего уровней), то есть когда из одной RDP-сессии открывается другая RDP-сессия, стандартное сочетание клавиш работать не будет. В разных источниках в интернете можно найти информацию об использовании более сложных сочетаний клавиш, таких как CtrlAltShift-End или Shift-Ctrl-Alt-End. Однако мои эксперименты с Windows 10/Windows Server 2012 R2 показали, что данные сочетания клавиш попросту не работают (возможно они работали в ранних версиях ОС Windows). В этом случае на выручку нам может прийти следующий способ.

Способ №2 — Экранная клавиатура

В составе Windows имеется приложение «Экранная клавиатура» (On-Screen Keyboard), расположенное по умолчанию в %SystemRoot%\System32\osk.exe. Используя это приложение, мы можем решить проблему использования «горячих» клавиш во вложенных RDP-сессиях.

Находясь во вложенной RDP-сессии, вызовем окно запуска приложений. Вызвать его можно разными способами, например, через контекстное меню по кнопке Windows, или через Диспетчер задач (Task Manager):

Либо можно использовать сочетание клавиш Win-R.

В окне запуска приложений выполним запуск исполняемого файла osk.exe

После того, как откроется приложение «Экранная клавиатура», нажмём на физической клавиатуре сочетание клавиш CtrlAlt, так, чтобы это отобразилось на экранной клавиатуре и затем, удерживая это сочетание клавиш, на экранной клавиатуре мышкой нажмём кнопку Del.

Таким образом мы отправим в удалённую RDP-сессию сочетание клавиш Ctrl-Alt-Del, в следствие чего откроется специальный экран Безопасности Windows с функцией изменений пароля пользователя.

Способ №3 – Ярлык на VBS-скрипт или Powershell

Вызов экрана Безопасности Windows можно выполнить не только интерактивными способами, но и программными, например, с помощью скриптов.

Создадим VBS-скрипт, например, с именем Windows Security.vbs. Наполним скрипт следующим содержимым:

Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity

Разместим скрипт в месте, доступном на чтение (но не для редактирования) для всех пользователей удалённого рабочего стола, например в каталоге %SystemRoot% (C:\Windows). А ярлык на запуск скрипта можно разместить в любом доступном пользователям месте, например, в каталоге общего профиля %SystemDrive%\Users\Public\Desktop\

При запуске данного ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля.

Для любителей PowerShell приведённый VBS-скрипт можно заменить PS-скриптом следующего вида:

$ShellObject = New-Object -ComObject Shell.Application
$ShellObject.WindowsSecurity()

Либо запускать из ярлыка команду вида:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -nologo -noninteractive -command "(new-object -ComObject shell.application).WindowsSecurity()"

Однако стоит отметить тот факт, что запуск варианта с PowerShell будет происходить медленней, чем варианта с VBS-скриптом.

Описанные здесь способы с запуском ярлыка, ссылающегося на скрипт, может попросту не сработать, так как в некоторых окружениях серверов служб удалённых рабочих столов может быть заблокирована возможность выполнения скриптов. В таком случае, можно воспользоваться следующим способом.

Способ №4 – Ярлык оболочки Windows Explorer

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2012 R2.

Способ №5 – Панель управления Windows (локальные учётные записи)

Данный способ относится лишь к локальным учётным записям пользователей. Изменить пароль учётной записи рядового локального пользователя можно через Панель управления Windows. В Windows 10 из раздела Панели управления «Учётные записи пользователей» доступен вызов окна «Параметры компьютера«, в котором имеется функция изменения пароля текущего локального пользователя.

Такие методы вызова апплета управления учётными записями пользователей Панели управления Windows, как, например команда «control userpasswords2«, в качестве отдельного способа мы выделять не будем, так как подобные действия требуют административных прав в удалённой системе. То же самое касается и таких CLI-утилит Windows, как net.exe (%SystemRoot%\System32\net.exe) (пример команды «net user username newpassword«), так как они тоже требуют повышения уровня прав пользователя.

Ремарка

Отдельно хочется отметить обстоятельство, про которое порой забывают администраторы, и это может приводить к разным курьёзным ситуациям.

Попытки смены пароля, инициированные самим пользователем, могут оказаться безуспешными в случае, если пароль был недавно изменён и на удалённую Windows систему действует политика безопасности, определяющая минимальный срок действия пароля.

Как правило, это настраивается на уровне стандартных доменных групповых политик Active Directory и/или механизмов Password Settings objects (PSOs).

Повторюсь, что повлиять на ситуацию эта политика может только в случаях, когда пользователь самостоятельно инициирует процедуру смены пароля.

Далее мы поговорим о сценарии, при котором требование смены пароля включается для учётной записи пользователя форсировано администратором сервера (для локальных учётных записей), либо администратором службы каталогов Active Directory (для доменных учётных записей).

Практика показывает, что как только администратором включено требование смены пароля пользователя при следующем входе в систему, у пользователя могут возникнуть проблемы с подключением по протоколу RDP, если на стороне RDS сервера (а в некоторых случаях и на стороне RDS клиента) предварительно не предпринято никаких действий по специальной настройке обработки таких ситуаций. Далее мы рассмотрим пару примеров такой настройки.

Способ №6 — Remote Desktop Web Access

Клиентский доступ к службам Windows Server RDS может быть организован через веб-интерфейс серверной роли Remote Desktop Web Access (RDWA). В функционале этой роли имеется выключенная по умолчанию возможность смены пароля пользователя в процессе аутентификации на веб-странице RDWA.

Сразу стоит отметить то, что данный способ смены пароля будет доступен только в том случае, если на веб-узлах RDWA используется аутентификация на основе формы (Forms Authentication), а этот тип аутентификации несовместим с типом Windows Authentication, о подключении которого мы говорили ранее.

Чтобы включить данную возможность в Windows Server 2012/2012 R2 откроем консоль управления Internet Information Services (IIS) Manager, выберем сайт RDWA, развернём RDWeb > Pages и в разделе настроек ASP.NET выберем настройку опций веб-приложения Application Settings:

В перечне опций находим PasswordChangeEnabled и меняем установленное по умолчанию значение false на true:

Если серверов RDWA несколько и они работают в пуле за балансировщиком, например Windows NLB, то не забываем выполнить данное изменение на всех других серверах пула.

Теперь попытаемся от имени пользователя, у которого в свойствах учётной записи установлено требование смены пароля при следующем входе, аутентифицироваться на веб-странице RDWA:

После ввода учётных данных пользователя появится сообщение о том, что пароль пользователя требует замены и ссылка на страницу с функцией смены пароля (https://<RDWA FQDN>/RDWeb/Pages/ru-RU/password.aspx):

На этой отдельной странице пользователь сможет ввести свои текущие учётные данные и новый пароль:

В случае успешной смены пароля пользователь получит соответствующее сообщение:

При необходимости ссылку на страницу смены пароля можно сделать доступной не только тем пользователям, у которых после аутентификации возникает требование смены пароля, но и всем остальным пользователям, чтобы они могли самостоятельно выполнять смену пароля по собственной инициативе через веб-страницу RDWA. Для этого можно будет внедрить ссылку на страницу password.aspx на странице входа login.aspx (по умолчанию страницы расположены в каталоге %windir%\Web\RDWeb\Pages\ru-RU)

Если же говорить про Windows Server 2008 R2, то в этой ОС для использования функции смены пароля в RDWA может потребоваться установка обновления KB2648402 — You cannot change an expired user account password in a remote desktop session that connects to a Windows Server 2008 R2-based RD Session Host server in a VDI environment.

Способ №7 – Специальный RDP-файл

Если пользователь выполняет подключение к удалённому рабочему столу на базе Windows Server 2012/2012 R2 через прямой запуск стандартного клиента mstsc.exe, то в ситуации с включенным признаком требования смены пароля, попытка подключения может быть завершена с ошибкой «You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support«.

Если ситуация требует того, чтобы пользователь самостоятельно изменил свой пароль при первом входе в систему, то это потребует некоторого изменения уровня безопасности настроек протокола RDP на стороне RDS сервера и подготовки специального RDP-файла на стороне клиента.  

Сначала на клиентской стороне откроем mstsc.exe, настроим все нужные параметры подключения к серверу RDS и используя кнопку Сохранить как, создадим RDP-файл.

После этого откроем RDP-файл в текстовом редакторе и добавим в конец файла строку «enablecredsspsupport:i:0«

Добавление данного параметра в свойствах RDP-подключения позволит клиенту успешно установить RDP-сессию с удалённой системой и сменить пароль до получения доступа к удалённому рабочему столу. Однако этот параметр понизит уровень безопасности RDP-подключения, так как клиент не сможет использовать проверку подлинности на уровне сети — Network Level Authentication (NLA). И если на стороне RDS сервера включена обязательная проверка NLA, то пользователь всё равно не сможет подключиться и получит соответствующую ошибку «The remote computer requires Network Level Authentication, which your computer does not support…«.

Разрешить эту ситуацию можно только понизив уровень безопасности RDP на стороне RDS сервера, отключив обязательное требование проверки подлинности на уровне сети (NLA). Изменить эту настройку можно в свойствах системы на закладке Удалённый доступ:

В английской версии Windows название опции звучит как «Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)»

Если NLA нужно отключить на уровне коллекции серверов Windows Server 2012 R2, то сделать этом можно в свойствах коллекции сеансов, например через оснастку Server Manager:

После того, как отключено требование NLA на стороне RDS сервера, клиент с помощью специального RDP-файла, о котором мы сказали выше, должен успешно установить RDP-сессию и уже в ней получить сообщение о необходимости смены пароля:

И после этого пользователю будет показан экран, на котором он сможет задать новый пароль:

После успешной смены пароля последующие подключения по протоколу RDP будут проходить в штатном режиме без лишних запросов.

Заключение

Приведённый здесь перечень способов смены пароля при использовании протокола RDP не претендует на какую-то полноту и исключительность, а лишь отражает ту информацию, которую мне удалось найти в разных источниках по этому поводу. На мой взгляд, ни один из перечисленных способов нельзя считать наиболее удобным или универсальным, так как каждый из способов может применяться в определённых ограниченных сценариях и имеет, как преимущества, так и недостатки по сравнению с другими способами.

Дополнительные источники информации:

  • TechNet Forums  — RDP Message: You must change your password before logging on the first time. Please update your password or contact …
  • Freek Berson — Password change option also available in RD Web Access on Windows Server 2008 R2
  • TechNet Wiki — Windows Server 2012 RDS: Enabling the RD WebAccess Expired password reset option

How to change your password in Remote Desktop? As a regular user of RDP sessions, you may have been confronted with the case of changing your password. But here’s the problem: Control-Alt-Delete (CTRL-ALT-DEL) doesn’t allow you to change the password in the remote session> Instead, it gives you the lock menu on your local computer.

Because of this, I’ve written down 10 ways to reset your password in Remote Desktop without using Ctrl alt delete.

Table of Contents

There are many ways to change your password on a Windows client. When you’re working on your local computer, you may just hit CTRL-ALT-DEL. Unfortunately, this doesn’t work if you attempt to change a password in Remote Desktop. Hitting CTRL-ALT-DELETE will trigger your local computer to pop up the options Lock – Switch user – Sign out – Change a password – Task Manager.

CTRL-ALT-END

Sometimes (but not always), CTRL-ALT-END helps you “ctrl-alt-delete” the session to change your password in remote desktop sessions. CTRL-ALT-END is the equivalent to CTRL-ALT-DELETE in RDP. However, it depends on the OS version session settings whether this works or not.

On screen keyboard

The On Screen Keyboard (OSK) is a virtual keyboard on your screen. This works in Windows Server 2012 / Windows 7 and higher. To change your password in Remote Desktop with the OSK, follow these steps:

  1. Click Start
  2. Type osk and hit enter to open the on screen keyboard.
    If this doesn’t work, press Windows+R to open your Run Command window. Type osk and click OK
  3. Press and Hold CTRL-ALT keys on your physical keyboard and then click on the DEL key in the virtual keyboard (on screen)
  4. Minimize the OSK
  5. Click Change a password.
    on screen keyboard

Run the shell

You can directly launch the shell to get the Windows Security Options displayed. To do so, open the Run-box or open a command prompt and copy-paste:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Note: this only works on Windows 10 and earlier. It’s not supported on Windows 11.

Run a VBS-script

This one is nice too. Copy-paste the lines below to a Notepad and save the file as securityoptions.vbs . Then open/run/execute the VBS. It will launch the Windows Security Options screen to change the password in Remote Desktop.

************************************
Set objShell = CreateObject(“Shell.Application”)
objShell.WindowsSecurity
***********************************

ALTGR-END

In case you have a keyboard with the ALTGR-key, you may also use ALTGR+END to simulate CTRL-ALT-DELETE. I believe German keyboards in particular have this key.

Reset your password in an RDP session

In contrast to changing a password, resetting a password does not require you to remember the current password. Instead, you just overwrite the existing password (if any) and set a new password.

Active Directory Users and Computers

When logged on to a computer that has active directory tools installed, you may use Active Directory Users and Computers to reset the password. You need user account privileges to do so, however.

  1. Open Active Directory Users and Computers from your start menu (or quicker: Start -> Run -> dsa.msc)
  2. Localize the account (tip: at top level, right-click and choose Find… )
  3. Right-click the account, and choose Reset Password…

Net user

Assuming it’s a local user (so NOT a domain user account), you can use net user to change a users’ password. To do so:

  1. Click Start -> Run (or press Win+R)
  2. Type something like “net user $username $password”. I.e. if the user account is named Peter, you could reset its password by typing: net user Peter P@55w0rd.

In case of a domain user account, you may use the Set-ADAccountPassword cmdlet in Powershell. Note that the Active Directory module must be loaded.

Set-ADAccountPassword -Identity Peter -NewPassword (Read-Host -Prompt “Provide New Password” -AsSecureString) -Reset

Powershell: Set-LocalUser

In case of a local user, you may use the Set-LocalUser cmdlet in Powershell to reset a local users’ password

Get-LocalUser ‘Peter’ | Set-LocalUser -Password (Read-Host -Prompt “Provide New Password” -AsSecureString)

Quick wrap-up

There are different ways to change a password in Remote Desktop. I find the Onscreen Keyboard method the easiest because it’s universal and works in all Windows versions, including Windows 10, Windows Server 2022, and Windows 11. It also enables you to change a password, when you’re in a Remote Desktop session via a Remote Desktop session.

Nonetheless, here’s a small enumeration most used techniques:

remote desktop manager final image

Change password on Remote Desktop

  1. CTRL-ALT-END

    Press CTRL-ALT-END to trigger the Lock menu where you change your password

  2. On Screen Keyboard

    on screen keyboard

    Click Start, type osk, and press Enter in the RDP session. This will open the Onscreen Keyboard where you can simulate the CTRL-ALT-DELETE keystroke

  3. Run the Windows Security Options shell

    Open a command prompt (cmd) and enter C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}. This launches the shell to get the Windows Security Options. Only works on Windows 10 and earlier.

  4. Run a VBS script

    Create a VBS file with the following content:
    Set objShell = CreateObject(“Shell.Application”)
    objShell.WindowsSecurity
    Opening the file then launches the shell to get the Windows Security Options. Only works on Windows 10 and earlier.

  5. ALTGR-END

    Press ALTGR+END. Some keyboards, with i.e. German layout, have an ALTGR key. This simulates CTRL-ALT.

Tools:

  • Windows 10
  • Windows 11
  • Remote Desktop session

События 2020 года привели к тому, что всё большее количество людей работает удалённо. Иногда возникает ситауция, что пользователю необходимо сменить пароль для доменной учётной записи, но доступ есть только к rdp сессии, а срок действия пароля учётной записи заканчивается. При этом не всегда ответственные за настройку работы терминала забывают предоставить пользователю лёгкий способ сменить пароль в терминале RDP-сессии:

Такая ситуация была у моей жены и увы пользователь, в данном случае, не сможет самостоятельно сменить пароль, хотя это довольно простая процедура. Увы не всегда есть возможность задействовать поддержку которая отвечает за работу терминального сервера или просто выполнить запрос на принудительную смену пароля.

1-й способ — Экранная клавиатурв

Проще всего задействовать сочетание клавиш Ctrl+Alt+Del, но увы не встречал ещё что бы присланный файл *.rdp был корректно настроен, но об этом позже. Позльзователь терминальной сессии развёрнытый на полный экран, сочетание клавиш Ctrl+Alt+Del увы открывает меню экрана безопасности локального компьютера. Если сочетание клавиш нажать только на экранной клавиатуре появиться сообщение:

Открываем приложение «Экранная клавиатура», на физической клавиатуре нажимаем и ужерживаем клавиши Ctrl+Alt (на экранной клавиатуре должны подсветиться данные клавиши), наводим курсор мышки на клавишу «Del» экранной клавиатуры и нажимаем её. Откроется экран безопасности терминальной сесии, выбираем пункт сменить пароль.

2-ой способ — используя «горячие клавиши»

Как писал ранее, простое нажатие Ctrl+Alt+Del  приведёт к открытию меню безопасности локального компьютера в большенстве случаев.

Для корректной работы «горячих клавиш» в RDP-сессии должно быть явно разрешено перенаправление сочетания клавиш в свойствах RDP-клиента. Во встроенном клиенте Windows mstsc.exe, данную опцию необходимо включить на закладке управления локальными ресурсам. Локальные ресурсы -> Клавиатура -> Использование сочетаний клавиш -> установить значерие «на удалённом компьютере.

3-й способ — VBS скрипт или Powershell

Данный способ будет работать, только если не заблокирована возможность выполнения скриптов для служб удалённых рабочих столов.

Создаём VBS скрипт, с произвольным именем WS.vbs со следующим содержимым:

Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity

Выполняем запуск данного скрипта, можно создать ярлык для запуска данного скрипта. При запуске у пользователя быдет открываться экран безопасности windows с возможностью изменения пароля.

Если предпочитаете Powershell, то файл скрипта на powershell будет иметь вид:

$ShellObject = New-Object -ComObject Shell.Application
$ShellObject.WindowsSecurity()

4-й способ — Оболочка Windows explorer

Для этого способа необходимо создать ярлык

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2012 R2.

Users can press CTRL+ALT+DEL and select Change Password from the menu that opens to change their password on the Windows workstation. However, this won’t work if you are connected to the remote computer via an RDP session. If you press the CTRL + ALT + DEL key combination, it will not be passed to the Remote Desktop (Terminal) session. Instead, it will take you to the prompt to change a user password on a local computer.

Contents:

  • Use CTRL + ALT + END to Change User Password in the Remote Desktop Session
  • Changing Password with On-Screen Keyboard in Nested RDP Session
  • Script to Change User Password in RDP Session
  • Changing Password Through Remote Desktop Web Access (RDWeb)
  • How to Change an Expired Password via RDP with NLA CredSSP Auth Enabled

In Windows Server 2016/Windows 10 and later, users can change their password from the Settings app (Settings -> Accounts -> Sign-in options -> Password -> Change). However, it is usually difficult for users to find this option. Therefore, it is convenient to use other methods to open the password change prompt.

Change user password via Settings app

Use CTRL + ALT + END to Change User Password in the Remote Desktop Session

To open the Windows Security dialog in an RDP session, use the keyboard shortcut Ctrl + Alt + End. The shortcut is the same as Ctrl + Alt + Delete but only works in an RDP connection window.

This will bring up the Windows Security dialog box, where you can click ‘Change a password‘ to proceed.

Enter the current (old) and new password (twice) in the standard password change dialog.

change user password in remote desktop

Changing Password with On-Screen Keyboard in Nested RDP Session

If you are connected to the remote computer through a chain of multiple RDP hosts (jump hosts), you cannot use CTRL+ALT+END to change the user password. This is because pressing this keyboard key will be intercepted by the first RDP session.

In these cases, the user can use the built-in Windows On-Screen Keyboard to change the password in a nested RDP session.

  1. Open the On-Screen Keyboard in the most nested RDP session (by typing osk.exe in the Start -> Run);
  2. You will see the On-Screen Keyboard;
  3. Press CTRL+ALT on your physical (local) keyboard (this should be displayed on the screen) and then click the Del key on the On-Screen keyboard in a nested RDP session;
    On-Screen Keyboard - pressing key combination to change password in RDP

  4. This will send the Ctrl + Alt + Del key combination to the RDP session. This will open the Windows Security window where you can change the password.

Script to Change User Password in RDP Session

The Windows Security dialog for changing the password in an RDP session can be called programmatically using a VBS/PowerShell script or a special shell shortcut.

For example, create a WindowsSecurity.vbs text file with the following VBScript code on a desktop:

set objShell = CreateObject("shell.application")
objshell.WindowsSecurity

Double-click the VBS file to open a password change window.

Place this VBS file on the shared desktop of your RDS host (%SystemDrive%\Users\Public\Desktop\), or copy it to users’ desktops via GPO.

vbs script to run WindowsSecurity window and change RDP password

You can call this Windows security prompt to change the password by using PowerShell

(New-Object -COM Shell.Application).WindowsSecurity()

A simple desktop shortcut with the following target will allow users to open a password change prompt.

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -nologo -noninteractive -command "(new-object -ComObject shell.application).WindowsSecurity()"

There is an option to create a Windows File Explorer shortcut with the following shell command:

explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Changing Password Through Remote Desktop Web Access (RDWeb)

If you access your RDP servers through a host with the Remote Desktop Web Access (RDWA) role, you can allow the expired password to be changed on the RDWA login page.

Open the IIS Manager console (InetMgr.exe) on the server with the RD Web Access role and go to the Sites –> Default Web Site –> RDWeb –> Pages. Open the Application Settings.

Set the PasswordChangeEnabled option to true.

Restart IIS:

iiseset

Users can now change expired passwords via the RDS WebAccess web interface by following the link:
https://[RDWEB-HostName]/RDWeb/Pages/en-US/password.aspx

If you are using Windows Server with a language pack installed, replace en-US with your language code. For example, with de-DE for German.

RDWeb - change password page

How to Change an Expired Password via RDP with NLA CredSSP Auth Enabled

Network Level Authentication (NLA) with the Credential Security Support Provider (CredSSP) protocol is enabled by default for the RDP protocol in all modern Windows versions. CredSSP with NLA provides additional security by authenticating the user before establishing an RDP session.

If the user’s password has expired, or the AD administrator has enabled the User must change password at next logon option in the userAccountControl attribute (usually enabled for new AD user accounts), the user will receive the following error when attempting to log on via 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.

You must change your password before logging on the first time

As a result, a user cannot connect to the RDP host and change a password.

  • Configure an RDWA host with a password change page as described above;
  • Disable NLA on the RDP host (not recommended!!! as it significantly reduces RDP security) and use the.RDP file with the enablecredsspsupport:i:0option for connections;
  • Create a separate RDP host for password changes only. You don’t need to install the Remote Desktop Session Host role on this host or add users to a local Remote Desktop Users group, but you have to disable NLA. In this case, users can change their password, but cannot log in to that host via RDP;
    disable NLA for Remote Desktop

  • Users can change their password remotely using PowerShell (requires direct access from the user’s computer to the domain controller).

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить драйвера на клавиатуру windows 10
  • 0х000000с2 windows 7 как исправить
  • Как заменить шрифт на windows 10
  • Bcdedit deletevalue default numproc windows 10
  • Автозапуск вместе с windows