Смена истекшего пароля через Remote Desktop Web Access в Windows Server

В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через с помощью специальной веб формы на сервере 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._x000D_The Local Security Authority cannot be contacted_x000D_Remote computer:xxxxxx_x000D_This could be due to an expired password_x000D_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.remontka.com| where {$_.roles -eq "RDS-WEB-ACCESS"}

Для смены пароля используется сценарий в файле password.aspx , который находится в каталоге C:WindowsWebRDWebPagesen-US .

В локализованной версии Windows Server (без language pack ) путь к файлу password.aspx зависит от языка ОС. Например, для русской версии Windows Server это C:WindowsWebRDWebPagesru-RU.

Чтобы включить функцию смены пароля, нужно на сервере RD Web Access запустите консоль управления веб-сервером IIS Manager (inetmgr), перейдите в раздел [Server Name] –> Sites –> Default Web Site –> RDWeb –> Pages и откройте настройки приложения ( Application Settings ).

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

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

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

Перезапустите веб сервер IIS из консоли или с помощью команды:
IISRESET

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

https://[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx

Для 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 перед редактированием) .

  1. На сервере RDWeb найдите и откройте в любом тестовом редакторе (я предпочитаю Notepad++) файл C:WindowsWebRDWebPagesen-USlogin.aspx ;
  2. Перейдите на 429 строку (В Windows Server 2022 она находится после html блока <tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > ……..… </tr> ) и добавьте следующий код:
    <!-- Start Add Link to Change Password -->
    <tr>
    <td align="right"> <a href="password.aspx" title="Change User Password">Click here </a>to change your password.
    </td>
    </tr>
    <!-- End Add Link to Change Password -->
  3. Сохраните изменения в файле login.aspx, перезапустите сайт IIS и проверьте, что на странице регистрации RD Web появилась ссылка на страницу смены пароля.
Совет . Кстати говоря, мы ранее уже рассматривали, как реализовать смену пароля пользователя через OWA в Exchange .

Теперь удаленные пользователи смогут самостоятельно менять истекший пароль RDS сервере без вмешательства администратора. Обратите внимание, что если вы используете закэшированные учетные данные (Cached Credentials) для входа на локальный компьютер , то после смены пароля через RDWeb они не будут обновлены.

admin

Share
Published by
admin

Recent Posts

Apple: история логотипа

Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…

6 дней ago

Security Boot Fail при загрузке Acer — решение проблемы

Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…

3 недели ago

Ноутбук не включается — варианты решения

Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…

3 недели ago

The AC power adapter wattage and type cannot be determined — причины и решение

The AC power adapter wattage and type cannot be determined — причины и решение При…

3 недели ago

Свистит или звенит блок питания компьютера — причины и решения

Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…

3 недели ago

Мигает Caps Lock на ноутбуке HP — почему и что делать?

Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…

3 недели ago