Как изменить пароль в RDP сессии Windows?

05.05.2021

itpro

Windows 10, Windows Server 2016, Windows Server 2019

комментариев 12
В этой статье мы рассмотрим основные способы сменить пароль пользователя на удаленном компьютере в RDP сессии. В качестве удаленного хоста может выступать как Windows Server с настроенной на нем ролью Remote Desktop Services, так и рабочая станция с десктопной Windows 10, в настройках которой разрешено одно или множественные RDP подключения.
Основная проблема, на которую натыкаются пользователи — в окне терминального (RDP) подключения к удаленному серверу нельзя вызвать привычную форму смены пароля нажатием сочетания клавиш Ctlr + Alt + Delete. Эта комбинация клавиш не передается в сессию RDP, а выполняется в вашей локальной операционной системе.
В Windows Server 2003/2008 можно было сменить пароль пользователя по RDP, нажав кнопку Пуск и выбрав пункт Windows Security -> Change Password.

Но в более новых версиях, в том числе в Windows Server 2016/2019 и Windows 10 пункт меню Windows Security (Безопасность Windows) отсутствует, поэтому этот способ смены пароля не применим.
Смена пароля в RDP с помощью комбинации CTRL + ALT + END
В современных версиях Windows для вызова окна Windows Security в RDP сессии нужно использовать сочетание клавиш Ctlr + Alt + End. Эта комбинация является аналогом комбинации Ctlr + ALt + Delete, но работает только в окне RDP подключения. В открывшемся меню выберите Change a password.

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

Смена пароля с помощью экранной клавиатуры
Если вы подключены к удаленному рабочему столу хоста Windows через несколько промежуточных RDP сеансов, вы не сможете использовать комбинацию CTRL+ALT+END для смены пароля пользователя. Нажатие этих клавиш будет перехвачено первым RDP окном. В таких случаях вы можете воспользоваться для смены пароля пользователя стандартной экранной клавиатурой Windows (On-Screen Keyboard).

Запустите On-Screen Keyboard в целевом RDP сеансе (проще всего набрать osk.exe в меню Пуск);

Перед вами появится экранная клавиатура;
На своей физической (локальной) клавиатуре зажмите клавиши CTRL+ALT (это должно отобразиться на экране), и затем на экранной клавиатуре нажмите мышкой по кнопке Del ;
В результате в удаленную RDP сессию будет отправлено сочетание клавиш Ctrl+Alt+Del, и откроется стандартное окно безопасности Windows из которого можно сменить пароль.
Не забывайте, что при смене пароля пользователя он должен соответствовать требованиям локальной или доменной политики паролей.
Если новый пароль не соответствует требованиям, появится сообщение:
Не удается обновить пароль. Введенный пароль не обеспечивает требований домена к длине пароля, его сложности или истории обновления.

Также обратите внимание, что в доменной политике (или в Password Settings objects) обычно настраивается параметр Minimum password age, который запрещает пользователю самостоятельно менять пароль чаще указано в этом параметре GPO.
Вызов окна смены пароля в RDP сессии через VBS/PowerShell
Вы можете вызвать диалоговое окно Windows Security в RDP сессии программно с помощью встроенных инструментов Windows: VBScript, PowerShell или shell ярлыка.
Например, создайте на рабочем столе файл WindowsSecurity.vbs со следующим кодом VBScript:
set objShell = CreateObject(«shell.application»)
objshell.WindowsSecurity
При двойном щелчке по этому vbs файлу перед вами откроется стандартная форма, через которую можно изменить пароль.
На RDS сервере вы можете поместить этот vbs файл на общий рабочий стол ( %SystemDrive%\Users\Public\Desktop\ ) или скопировать его на рабочие столы пользователей через GPO.

Аналогичное окно смены пароля можно вызвать и из PowerShell. Воспользуйтесь командой:
New-Object -COM Shell.Application).WindowsSecurity()

Есть еще вариант создания ярлыка Windows Explorer со следующей ссылкой:
Смена пароля через Remote Desktop Web Access
Если вы используете доступ к RDS серверам через роль Remote Desktop Web Access (RDWA), вы можете включить возможность смены истекшего пароля на веб-странице входа RDWA (подробнее это описано здесь).

CredSSP NLA и смена пароля через RDP
Есть одна важная особенность, касающаяся смены истекшего пароля пользователя по RDP, связанна с опцией Network Level Authentication (NLA) и протоколом Credential Security Support Provider (CredSSP). По умолчанию CredSSP с NLA для RDP включен во всех версиях Windows, начиная с Windows Server 2012/Windows 8. 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;
- Создать отдельный сервер для смены паролей пользователей. На этот сервер не нужно устанавливать роль Remote Desktop Session Host, не нужно добавлять пользователей в локальную группу доступа Remote Desktop Users, но нужно отключить NLA. В этом случае пользователи смогу сменить пароль, но не смогут войти на сервер по RDP
- Пользователь может изменить свой пароль удаленно через PowerShell (если у него есть сетевой доступ к контроллеру домена).
Предыдущая статья Следующая статья 
Смена истекшего пароля через Remote Desktop Web Access в Windows Server

23.03.2022

itpro

Windows Server 2016, Windows Server 2019

комментариев 16
В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через с помощью специальной веб формы на сервере Remote Desktop Services (RDS) с ролью RD Web Access на Windows Server 2022/2019/2016/2012 R2.
Проблема смены истекшего пароля по RDP
В Windows Server 2012 R2 и выше по умолчанию включен механизм аутентификации на уровне сети NLA (Network Level Authentication, подробнее о нем здесь). Особенность этого метода аутентификации в том, что при включенном NLA пользователи с истекшим сроком действия пароля (или у которых в атрибуте пользователя useraccountcontrol включена опция смены пароля при первом входе) не смогут подключиться к RDP/RDS хосту. Конечно, вы можете отключить NLA ссылка1, ссылка2, но это не хорошо с точки зрения безопасности. При попытке подключится к серверу RDSH (Remote Desktop Session Host) с учетной записью пользователя, пароль которого истек, появляется такое сообщение об ошибке:
An authentication error has occurred. The Local Security Authority cannot be contacted Remote computer:xxxxxx This could be due to an expired password Please update your password if it has expired.

Получается, что при использовании NLA удаленные RDP пользователи не могут сменить свой истекший пароль, если у них нет других способов доступа в корпоративную сеть кроме RDS. Можно конечно, попросить пользователей заранее сменить свой пароль непосредственно в RDP сессии, или включить на RDS серверах политику Interactive logon: Prompt user to change password before expiration (Computer Configuration -> Windows Settings -> Local Policies -> Security Options), но, обычно это не всегда срабатывает из-за элементарной забывчивости пользователей.
В Windows Server 2012 R2 и выше удаленные пользователи могут самостоятельно сбросить свой пароль (текущий пароль или пароль с истекшим сроком действия) через специальную веб-страницу на сервере с ролью RD Web Access. Чтобы изменить пароль, пользователь должен аутентифицироваться под своей учетной записью на веб-странице регистрации RDS-WebAccess и с изменить свой пароль с помощью специальной aspx формы.
Примечание. В Windows Server 2003 пользователи домена могли сменить свой пароль через небольшое веб-приложение IISADMPWD (официально, впрочем, не поддерживаемое).
Разрешить смену истекшего пароля пользователя на RDWeb Access
Функционал удаленной смены пароля доступен на сервере с ролью Remote Desktop Web Access (RD Web Access), но по-умолчанию эта функция отключена.
Если у вас развернута ферма серверов RDS, вы можете найти сервер, на котором установлена роль RDS-WEB-Access, обратившись к RD Connection Broker:
Get-RDServer -ConnectionBroker srv-rdscb.winitpro.ru| where

Для смены пароля используется сценарий в файле password.aspx, который находится в каталоге C:\Windows\Web\RDWeb\Pages\en-US.
В локализованной версии Windows Server (без language pack) путь к файлу password.aspx зависит от языка ОС. Например, для русской версии Windows Server это C:\Windows\Web\RDWeb\Pages\ru-RU.
Чтобы включить функцию смены пароля, нужно на сервере RD Web Access запустите консоль управления веб-сервером IIS Manager (inetmgr), перейдите в раздел [Server Name] –> Sites –> Default Web Site –> RDWeb –> Pages и откройте настройки приложения (Application Settings).
В правой панели найдите параметр с именем PasswordChangeEnabled и измените его значение на true.

Либо вы можете задать значение True для параметра PasswordChangeEnabled в конфиг файле ‘C:\Windows\Web\RDWeb\Pages\Web.config’.

Параметр PasswordChangeEnabled позволяет пользователям Active Directory сменить пароль через портал RD Web Access. Эта опция не позволяет сменить пароль локальных пользователей на RDS хостах в рабочей группе (без домена).
Перезапустите веб сервер IIS из консоли или с помощью команды:
IISRESET

Чтобы проверить доступность страницы смены, перейдите на веб-адрес:
Для RD Web Access должен быть выпущен валидный SSL сертификат. Можно использовать бесплатный сертификат Let’s Encrypt для IIS.
Укажите имя пользователя, старый пароль и дважды новый.

После успешной смены пароля пользователя должно появится сообщение:
Your password has been successfully changed.

Нажмите ОК, и пользователь будет перенаправлена на страницу входа RD Web.
Если пароль пользователя не соответствует парольной политике домена, появится окно с предупреждением:
Your new password does not meet the length, complexity, or history requirements of your domain. Try choosing a different new password.

Вы можете использовать этот способ смены пароля на Remote Desktop Web Access только если на RDWA сервере включена аутентификация Forms Authentication. При использовании метода Window Authentication, смена пароля через форму RD Web невозможна.
Вывести и изменить поддерживаемые типы аутентификации можно в консоли IIS Manager. Выберите Sites -> Default Web Sites -> RDWeb -> Pages в правом окне выберите Forms Authentication.

Теперь при попытке подключиться к веб серверу RD Web Access с истекшим паролем, пользователь будет перенаправлен на веб-страницу password.aspx, на которой ему будет предложено сменить пароль.

Совет. Аналогичный функционал для смены пароля в Windows Server 2008 R2 с RD Web Access Role может быть доступен после установки отдельного патча KB2648402.
Добавить ссылку на смену пароля на страницу входа Remote Desktop Web Access
Вы можете добавить ссылку на страницу с формой смены пароля можно непосредственно в веб-форму входа на сервер RDWeb. Благодаря этому пользователь в любой момент может самостоятельно изменить свой пароль, не дожидаясь окончания его срока действия.
Добавьте ссылку на файл password.aspx на страницу входа в систему (создайте копию файла login.aspx перед редактированием).
- На сервере RDWeb найдите и откройте в любом тестовом редакторе (я предпочитаю Notepad++) файл C:\Windows\Web\RDWeb\Pages\en-US\login.aspx;
- Перейдите на 429 строку (В Windows Server 2022 она находится после html блока
> ……..…
) и добавьте следующий код:
| Click here to change your password. |

- Сохраните изменения в файле login.aspx, перезапустите сайт IIS и проверьте, что на странице регистрации RD Web появилась ссылка на страницу смены пароля.

Совет. Кстати говоря, мы ранее уже рассматривали, как реализовать смену пароля пользователя через OWA в Exchange.
Теперь удаленные пользователи смогут самостоятельно менять истекший пароль RDS сервере без вмешательства администратора. Обратите внимание, что если вы используете закэшированные учетные данные (Cached Credentials) для входа на локальный компьютер, то после смены пароля через RDWeb они не будут обновлены.
Предыдущая статья Следующая статья 
Как сменить пароль в терминальной сессии
Сообщения: 6
Благодарности: 0
Добрый день.
Раньше если у пользователя просрочен пароль или в учетке стоит галка «Требуется смена пароля», то при первом подключении пользователю предалагалось сменить пароль прямо в терминальной сессии.
С недавнего времени терминальный сервер не дает подключиться пользователям с истекшим паролем, вместо этого появляется ошибка «Перед первым входом необходимо сменить пароль. Обновите пароль либо обратитесь к вашему системному администратору или в службу технической поддержки.»
ТС 2008 R2.
На новом ТС 2016 такая же ситуация.
Ни где не смог найти информацию, что мешает работать серверу по старому.
PS отключать NLA через GPO пробовал, не помогло.
Сообщения: 3722
Благодарности: 747
sercool,
Создаете rdp файл с параметрами подключения к Вашему терминальному серверу. Открываете файл rdp в блокноте и в конец файла добавляете строку enablecredsspsupport:i:0 и сохраняете файл. Пробуете подключиться используя данный rdp файл.
Изменение пароля в RDP-сессии Windows Server 2008, 2012

При rdp-подключении (терминальном) к удаленному серверу, окно смены пароля вызвать традиционным нажатием сочетания клавиш Ctlr + ALt + Delete невозможно, так как оно предусмотрено для выполнения только на локальных компьютерах.
Windows Server 2008
Для изменения пароля пользователя по RDP в операционной системе Windows Server 2003/2008 необходимо нажать кнопку «Пуск». После этого необходимо выбрать элемент меню «Windows Security» -> Change Password.

Windows Server 2012
В операционной системе Windows Server 2012 из-за отсутствия привычного меню «Пуск» выполнение такой операции невозможно. В данной ОС для изменения пароля в терминальной сессии предусмотрено сочетание клавиш Ctlr + ALt + End, отправляющее комбинацию Ctlr + ALt + Delete в окно терминала сервера. На нем открывается меню Windows Security. После нажатия соответствующей кнопки Change a password возникает возможность изменения текущего пароля пользователя.


В ситуациях, когда пользователь работает с нестандартным клиентом или через несколько терминальных сессий, отправить комбинацию клавиш Ctlr + ALt + End невозможно. В таких случаях используется другой способ. Он предусматривает создание специального файла (расширение .vbs). В нем размещается скрипт на VBScript, включающий в себя следующий код:
set objShell = CreateObject(«shell.application»)
objshell.WindowsSecurity

Открытие экрана меню Windows Security осуществляется запуском этого файла.

P. S. Другие инструкции:
- Windows Server 2008: создание нового пользователя
- Настройка проброса принтера через RDP
- Перенос файлов на VDS с локального компьютера
- Установка нового порта RDP по умолчанию в Windows Server 2012
Поделиться в соцсетях:
Средняя оценка: 5,0, всего оценок: 6 Спасибо за Вашу оценку! К сожалению, проголосовать не получилось. Попробуйте позже
191014 Санкт-Петербург ул. Кирочная, 9
235 70
1cloud ltd
2018-12-07 Изменение пароля в RDP-сессии Windows Server 2008, 2012
191014 Санкт-Петербург ул. Кирочная, 9
235 70
1cloud ltd

600 auto