Удаленные пользователи 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.market.
Шаг 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 невозможна.