Как изменить просроченный пароль через веб-доступ к удаленному рабочему столу на Windows Server

В этой статье мы покажем, как удаленные пользователи могут менять свои просроченные пароли с помощью специальной веб-формы на сервере Remote Desktop Services (RDS) с ролью RD Web Access на Windows Server 2022/2019/2016/2012 R2.

Невозможно изменить просроченный пароль в сеансе удаленного рабочего стола

В Windows Server 2012 R2 и более новых версиях в меню NLA (Network Level Authentication) по умолчанию включена для подключений к удаленному рабочему столу. NLA не позволяет пользователям подключаться к хостам RDP/RDS, если срок действия их паролей истек или если они имеют «Пользователь должен изменить пароль при первом входе в систему» включена опция в атрибуте пользователя useraccountcontrol. Вы можете отключить NLA (ссылка1, ссылка2), но это не очень хорошо с точки зрения безопасности. При попытке подключиться к серверу RDSH (Remote Desktop Session Host) под учетной записью пользователя с истекшим паролем появляется следующее сообщение об ошибке:

An authentication error has occurred.
The Local Security Authority cannot be contacted
Remote computer: lonSrvRDS1
This could be due to an expired password
Please update your password if it has expired.

Local Security Authority cannot be contacted Это может быть связано с просроченным паролемС местным органом безопасности связаться невозможно Это может быть связано с истекшим паролем

При использовании NLA удаленные пользователи RDP не могут изменить свой просроченный пароль, если у них нет другого способа доступа к корпоративной сети, кроме инфраструктуры RDS. Конечно, можно заранее попросить пользователей сменить пароль непосредственно в сеансе RDP или включить функцию Интерактивный вход: Предложение пользователю сменить пароль до истечения срока действия GPO-параметр хостов RDS (Computer Configuration -> Windows Settings -> Local Policies -> Security Options), но он не всегда работает из-за обычной забывчивости пользователей.

В Windows 2012 R2 и более новых версиях удаленные пользователи могут вручную сбросить свой пароль (текущий или истекший) через специальную веб-страницу на сервере с помощью команды Веб-доступ к удаленному рабочему столу роль. Чтобы изменить пароль, пользователь должен пройти аутентификацию на веб-странице входа в 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 rdcb1.woshub.com| where {$_.roles -eq "RDS-WEB-ACCESS"}

powershell: get-rdserver find rd webaccess hostpowershell: get-rdserver find rd webaccess host

Чтобы изменить пароль, используйте сценарий в password.aspx файл, расположенный в C:\Windows\Web\RDWeb\Pages\en-US.

Если вы используете локализованную версию Windows Server (без языкового пакета), путь к файлу password.aspx будет другим и будет выглядеть следующим образом:

  • C:\Windows\Web\RDWeb\Pages\fr-FR — для французского издания Windows Server
  • C:\Windows\Web\RDWeb\Pages\de-DE — для немецкого издания.

Чтобы включить опцию смены пароля, необходимо выполнить команду Диспетчер IIS консоль (inetmgr) на сервере с настроенной ролью RD Web Access. Перейдите к [Server Name] -> Сайты -> Веб-сайт по умолчанию -> RDWeb -> Страницы и откройте Настройки приложения раздел.

IIS->Сайты->DefaultWeSite-> RDWEB ->СтраницыIIS->Sites->DefaultWeSite-> RDWEB ->Pages

В правой панели найдите PasswordChangeEnabled параметр и измените его значение на истина.

PasswordChangeEnabled параметр сброса пароля в RD WebAccess на Windows Server 2016Опция сброса пароля PasswordChangeEnabled в RD WebAccess на Windows Server 2016

Также можно установить для параметра PasswordChangeEnabled значение True в файле конфигурации IIS C:\Windows\Web\RDWeb\Pages\Web.config.rd webaccess web.config: включить опцию смены пароляrd webaccess web.config: включить опцию смены пароля

Сайт PasswordChangeEnabled параметр позволяет пользователям Active Directory изменять свой истекший пароль через портал RD Web Access. Этот параметр не позволяет изменять пароль локальных пользователей на хостах RDS в среде рабочей группы (без домена).

Перезапустите веб-сервер IIS из консоли или воспользуйтесь командой:

iisreset 

команда iisresetкоманда iisreset

Чтобы проверить доступность страницы смены пароля, перейдите на следующую веб-страницу:

https://lonSrvRDS1/RDWeb/Pages/en-US/password.aspx

В RD Web Access должен быть установлен действующий сертификат SSL. Вы можете использовать бесплатный сертификат Let’s Encrypt в IIS.

Введите имя пользователя, старый пароль и новый пароль дважды.

RDWeb - страница изменения пароляRDWeb - страница смены пароля

После успешного изменения пароля пользователя должно появиться следующее сообщение:

Your password has been successfully changed.

RDWeb - Ваш пароль успешно измененRDWeb - Ваш пароль успешно изменен

Нажмите OK, и пользователь будет перенаправлен на страницу входа в RD Web. Если пароль пользователя не соответствует политике паролей домена, появится предупреждающее сообщение:

Your new password does not meet the length, complexity, or history requirements of your domain. Try choosing a different new password.

политика паролей домена при установке нового пароля на веб-доступе к удаленному рабочему столуполитика паролей домена при установке нового пароля на веб-доступе к удаленному рабочему столу

Вы можете использовать этот способ изменения пароля на сервере веб-доступа к удаленному рабочему столу только в том случае, если Аутентификация по формам включена на сервере IIS на сервере RDWA. Вы не сможете изменить пароль через веб-форму RD, если Аутентификация Windows используется метод.Перечислить и изменить поддерживаемые типы аутентификации можно в консоли IIS Manager. Выберите Сайты -> Веб-сайты по умолчанию -> RDWeb -> Страницы в правой панели, выберите Аутентификация форм.

rdwebaccess включение аутентификации форм в iisrdwebaccess включить аутентификацию форм в iis

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

Веб-страница входа в систему rdweb - Ваш пароль просроченrdweb login web page - Your password is expired

Совет. Вы можете изменить просроченный пароль на Windows Server 2008 R2 с ролью RD Web Access Role после установки специального обновления KB2648402.

Добавление ссылки на изменение пароля в форму входа в RD Web Access

Вы можете добавить ссылку на форму смены пароля прямо в форму входа в Remote Desktop WebAccess. Это позволит пользователям менять пароль в любое время, не дожидаясь окончания срока его действия.

Вставьте ссылку на файл password.aspx на страницу входа в RDWeb (перед редактированием создайте резервную копию файла password.aspx).

  1. На сервере RDWeb найдите и откройте файл C:\Windows\Web\RDWeb\Pages\en-US\login.aspx в любом текстовом редакторе (я предпочитаю Notepad++);
  2. Перейдите к строке 429 (в Windows Server 2022 она находится после следующего блока HTML <tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … </tr> ) и вставьте следующий код:
  3. <!-- Begin: Add Change Password Link -->
    <tr>
    <td align="right"> <a href="https://woshub.com/allow-users-to-reset-expired-password-via-rd-webaccess-windows-server-2012/password.aspx" title="Change AD User Password">Click here </a>to change your password.
    </td>
    </tr>
    <!-- End: Add Change Password Link -->
    добавить ссылку на изменение пароля в RDWA login.aspxдобавить ссылку на изменение пароля в RDWA login.aspx
  4. Сохраните изменения в файле login.aspx, перезапустите веб-сайт IIS и убедитесь, что ссылка на страницу смены пароля появилась на странице входа на веб-сервере RD.

разрешить удаленным пользователям изменять пароль на веб-доступе rdразрешить удаленным пользователям изменять пароль на веб-доступе rd

Удаленные пользователи теперь могут менять истекший пароль на сервере RDS без вмешательства администратора. Обратите внимание, что если вы используете кэшированные учетные данные домена для входа на локальный компьютер, они не будут обновлены после изменения пароля Active Directory через RDWebAccess.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *