Удаленные пользователи Windows Server с истекшим паролем часто не могут подключиться к RDP или RDS-хосту из-за включенной аутентификации на уровне сети (NLA). На серверах с ролью Remote Desktop Web Access (RD Web Access) можно настроить веб-форму для самостоятельной смены пароля. В этой статье мы разберем, как включить и настроить смену истекшего пароля через RD Web Access на Windows Server 2022/2019/2016/2012 R2, добавить ссылку на форму смены пароля и устранить возможные проблемы.
Проблема смены пароля по RDP
При включенной NLA (по умолчанию в Windows Server 2012 R2 и выше) пользователи с истекшим паролем или с включенной опцией «Сменить пароль при первом входе» не могут подключиться к RDP/RDS-хосту. Ошибка:
— Произошла ошибка аутентификации. Не удалось связаться с локальной системой безопасности.
— Удаленный компьютер:
— Это может быть связано с истекшим паролем. Пожалуйста, обновите пароль, если он истек.
Отключение NLA снижает безопасность, поэтому лучше использовать веб-форму RD Web Access для смены пароля.
Настройка смены пароля через RD Web Access
Функция смены пароля через веб-страницу password.aspx (по умолчанию в папке C:\Windows\Web\RDWeb\Pages\ru-RU для русской версии Windows) отключена по умолчанию. Вот как ее включить:
Шаг 1: Проверка роли RD Web Access
Найдите сервер с ролью RD Web Access в ферме RDS:
Get-RDServer -ConnectionBroker| Where-Object { $_.Roles -eq "RDS-WEB-ACCESS" }
Пример: srv-rdscb.softcomputers.org.
Шаг 2: Включение функции смены пароля
1. Запустите консоль управления IIS:
inetmgr
2. Перейдите в раздел: Сервер -> Сайты -> Default Web Site -> RDWeb -> Страницы.
3. Откройте Настройки приложения (Application Settings).
4. Найдите параметр Смена пароля разрешена (PasswordChangeEnabled) и установите значение 1 (или true).
Альтернатива: Отредактируйте файл C:\Windows\Web\RDWeb\Pages\Web.config, установив:
< add key="PasswordChangeEnabled" value="true" / >
5. Перезапустите IIS:
iisreset
Шаг 3: Проверка формы смены пароля
1. Откройте в браузере:
https://
2. Убедитесь, что для RD Web Access используется действующий SSL-сертификат (например, от Let’s Encrypt).
3. Введите имя пользователя, старый пароль и новый пароль (дважды).
4. После успешной смены появится сообщение:
— Пароль успешно изменен.
5. Если пароль не соответствует политике домена (длина, сложность, история), появится ошибка:
— Новый пароль не соответствует требованиям длины, сложности или истории вашего домена. Попробуйте выбрать другой пароль.
Примечания
— Функция работает только с доменными учетными записями Active Directory. Локальные пользователи в рабочей группе не поддерживаются.
— Требуется Forms Authentication в настройках IIS:
— В IIS Manager: Sites -> Default Web Site -> RDWeb -> Pages -> Аутентификация -> включите Аутентификация с помощью форм.
— При использовании Windows Authentication смена пароля через форму недоступна.
Добавление ссылки на смену пароля
Чтобы пользователи могли менять пароль в любой момент, добавьте ссылку на страницу password.aspx на форму входа RD Web Access:
1. Создайте резервную копию файла C:\Windows\Web\RDWeb\Pages\ru-RU\login.aspx.
2. Откройте login.aspx в текстовом редакторе (например, Notepad++).
3. Найдите строку около 429 в Windows Server 2022 после блока:
< tr > id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … < /tr >
4. Добавьте код:
< !-- Начало: Ссылка на смену пароля -->
< tr >
< td align="right" > < a href="password.aspx" title="Смена пароля пользователя" >Нажмите здесь< /a >, чтобы сменить пароль.
< /td >
< /tr >
< !-- Конец: Ссылка на смену пароля -->
5. Сохраните файл и перезапустите IIS:
iisreset
6. Проверьте страницу входа RD Web Access — ссылка «Нажмите здесь, чтобы сменить пароль» должна появиться.
Устранение проблем
— Ошибка: «Не удалось связаться с локальной системой безопасности»
— Убедитесь, что Forms Authentication включена.
— Проверьте наличие действующего SSL-сертификата.
— Пароль не меняется
— Проверьте, что параметр PasswordChangeEnabled установлен в true.
— Убедитесь, что новый пароль соответствует политике домена (Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Политики учетных записей -> Политика паролей).
— Кэшированные учетные данные
— После смены пароля через RD Web Access кэшированные учетные данные на локальном компьютере не обновляются. Попросите пользователя войти с новым паролем вручную.
— Windows Server 2008 R2
— Установите патч KB2648402 для аналогичного функционала.
Рекомендации
— Включите политику Интерактивный вход: Запрашивать у пользователя смену пароля до истечения срока действия:
Конфигурация компьютера -> Политики -> Параметры Windows -> Параметры безопасности -> Локальные политики -> Параметры безопасности.
— Настройте уведомления о скором истечении пароля через сценарии PowerShell или GPO.
— Используйте Forms Authentication для обеспечения совместимости с формой смены пароля.
— Регулярно обновляйте SSL-сертификаты для RD Web Access.
Настройка смены истекшего пароля через RD Web Access на Windows Server 2022/2019/2016/2012 R2 позволяет пользователям самостоятельно обновлять пароли без вмешательства администратора. Включение функции через IIS, добавление ссылки на страницу входа и использование Forms Authentication обеспечивают удобство и безопасность. Этот подход особенно полезен в средах с NLA, где стандартная смена пароля через RDP невозможна.