В этой статье мы покажем, как удаленные пользователи самостоятельно могут менять свои истекшие пароли через 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) с учетной записью пользователя, пароль которого истек, появляется такое сообщение об ошибке:
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.

В Windows Server 2012 /R2 и выше у удаленных пользователей появилась возможность самостоятельно сбрасывать свой пароль (текущий пароль или пароль с истекшим сроком действия) через специальную веб-страницу на сервере RD Web Access. Процесс смены пароля выглядит так: пользователь заходит под своей учетной записью на веб-страницу регистрации на сервере с ролью RD Web Access и с помощью специальной aspx формы меняет свой пароль.
Функционал удаленной смены пароля доступен на сервере с ролью Remote Desktop Web Access (RD Web Access), но по-умолчанию эта функция отключена. Для смены пароля используется сценарий в файле password.aspx, который находится в каталоге C:\Windows\Web\RDWeb\Pages\en-US.
Чтобы включить функцию смены пароля, нужно на сервере с настроенной ролью Remote Desktop Web Access открыть консоль управления веб-сервером IIS (IIS Manager), перейти в раздел [Server Name] –> Sites –> Default Web Site –> RDWeb –> Pages и открыть раздел с настройками приложения (Application Settings).
В правой панели найдите параметр с именем PasswordChangeEnabled и измените его значение на true.
Перезапустите IIS из консоли или с помощью команды IISRESET.
Чтобы проверить доступность страницы смены, перейдите на веб-адрес:
https://[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx
После успешной смены пароля пользователя должно появится сообщение:
Your password has been successfully changed.
Нажмите ОК, и пользователь будет перенаправлена на страницу входа RD Web.
Если пароль пользователя не соответствует парольной политике домена, появится окно с предупреждением:
Теперь при попытке подключиться к веб серверу RD Web Access с истекшим паролем пользователь будет перенаправлен на веб-страницу password.aspx, на которой ему будет предложено сменить пароль.
Вы можете добавить ссылку на страницу с формой смены пароля можно непосредственно в веб-форму входа на сервер RDWeb. Благодаря этому пользователь в любой момент может самостоятельно изменить свой пароль, не дожидаясь окончания его срока действия.
Добавим ссылку на файл password.aspx на страницу входа в систему (создайте копию файла password.aspx перед редактированием).
- На сервере RDWeb найдите и откройте в любом тестовом редакторе (я предпочитаю Notepad++) файл C:\Windows\Web\RDWeb\Pages\en-US\login.aspx
- Перейдите на 583 строку и вставьте в нее следующий код:
<a href="https://[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx"> Password Reset Utility</a>
- Сохраните изменения в файле login.aspx, перезапустите сайт IIS и проверьте что на странице регистрации на терминальном сервере появилась ссылка на страницу смены пароля.
Теперь удаленные пользователи смогут сменить истекший пароль на Remote Desktop сервере без вмешательства администратора.
проделал все как в статье, но при подключении получаю
«Ошибка сервера в приложении ‘/RDWeb/Pages’.
———————————————————————————
Не удалось найти данный ресурс.
Описание: HTTP 404. Возможно, искомый ресурс (или одна из его зависимостей) удален, получил другое имя или временно недоступен. Просмотрите следующий URL-адрес и проверьте, что он введен правильно.
Запрошенный URL: /RDWeb/Pages/en-US/password.aspx
«
У вас случайно не русская версия Windows Server?
Работает ли служба RD Web Access и открываются ли ее страницы?
Файл password.aspx имеется?
Разобрался, но отписался, действительно русская версия, по ссылке с ru-ru все работает
В тексте про password.aspx сказано про строку 583, на скриншоте строка 538.
В моём файле это тоже строка 538.
Вы правы, опечатался немного
у меня уже стоит разрешение. но пользователи самостоятельно не могут менять пароль. когда переходят по ссылке. нельзя ввести логин.
пароль можно изменить только в том случае если просрочен
Настроил всё по инструкции. После перехода на страницу смены пароля и ввода всех данных (логин, старый пароль, новый пароль) и нажатия кнопки «отправить» получаю ошибку «Вы ввели недопустимое имя пользователя или пароль.»
Скорее всего сложность пароля не соответствует доменной политике паролей