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

В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через RDP-подключение к ферме терминальных серверов Remote Desktop Services (RDS) на Windows Server 2016 / 2012 R2.

В Windows Server 2012 R2 and Windows 8.1 по умолчанию включен механизм аутентификации NLA (Network Level Authentication, подробнее о нем здесь), который не позволяет подключиться по RDP пользователям с истекшим сроком действия пароля (вы, конечно, можете отключить 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.

The Local Security Authority cannot be contacted - This could be due to an expired passwordТаким образом, при использовании NLA, проблема смены истекшего пароля через RDP может стать практически неразрешимой для удаленных пользователей, у которых отсутствует другие возможности входа в сеть. Можно конечно, попросить пользователей заранее менять свой пароль непосредственно в RDP сессии, но, как правило, это не всегда срабатывает из-за элементарной забывчивости пользователей.

В Windows Server 2012 /R2 и выше у удаленных пользователей появилась возможность самостоятельно сбрасывать свой пароль (текущий пароль или пароль с истекшим сроком действия) через специальную веб-страницу на сервере RD Web Access. Процесс смены пароля выглядит так: пользователь заходит под своей учетной записью на веб-страницу регистрации на сервере с ролью RD Web Access и с помощью специальной aspx формы меняет свой пароль.

Примечание. В Windows Server 2003 пользователи домена могли сменить свой пароль через небольшое веб-приложение IISADMPWD (официально, впрочем, не поддерживаемое).

Функционал удаленной смены пароля доступен на сервере с ролью Remote Desktop Web Access (RD Web Access), но по-умолчанию эта функция отключена. Для смены пароля используется сценарий в файле password.aspx, который находится в каталоге C:\Windows\Web\RDWeb\Pages\en-US.

В русской версии Windows Server (без language pack) путь к файлу password.aspx будет отличаться и выглядеть так: C:\Windows\Web\RDWeb\Pages\ru-RU.

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

Sites –> Default Web Site –> RDWeb –> Pages

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

PasswordChangeEnabled - опция смены пароля через веб страницу на Remote Desktop Web

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

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

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

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

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

Your password has been successfully changed.

rdweb сброс пароля пользователя 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.

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. При использовании метода Windows Authentication, смена пароля через форму RD Web невозможна.

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

Необходимо изменить истекший пароль

Совет. Аналогичный функционал для смены пароля в Windows Server 2008 R2 с RD Web Access Role может быть доступен после установки специального патча — KB 2648402.

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

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

  1. На сервере RDWeb найдите и откройте в любом тестовом редакторе (я предпочитаю Notepad++) файл C:\Windows\Web\RDWeb\Pages\en-US\login.aspx
  2. Перейдите на 583 строку и вставьте в нее следующий код:
    <a href="https://[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx"> Password Reset Utility</a>
    Ссылка на страницу смены пароля в login.aspx
  3. Сохраните изменения в файле login.aspx, перезапустите сайт IIS и проверьте что на странице регистрации на терминальном сервере появилась ссылка на страницу смены пароля.

login.aspx - ссылка на смену пароля пользователя

Совет. Кстати говоря, мы ранее уже рассматривали, как реализовать смену пароля пользователя через OWA в Exchange.

Теперь удаленные пользователи смогут сменить истекший пароль на Remote Desktop сервере без вмешательства администратора.


Предыдущая статья Следующая статья


Комментариев: 5 Оставить комментарий

Оставить комментарий

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

Я не робот( Обязательно отметьте)