У цій статті ми покажемо, як віддалені користувачі самостійно можуть змінювати свої минулі паролі через RDP-підключення до ферми термінальних серверів Remote Desktop Services (RDS) на Windows Server 2016/2012 R2.
У Windows Server 2012 R2 and Windows 8.1 за замовчуванням включений механізм аутентифікації НЛА (Network Level Authentication, докладніше про нього тут), який не дозволяє підключитися по RDP користувачам з вичерпаним терміном дії пароля (ви, звичайно, можете відключити NLA – ссилка1, ссилка2, але це не добре з точки зору безпеки). При спробі підключитися до сервера RDSH (Remote Desktop Session Host) з обліковим записом користувача, пароль якого закінчився, з’являється таке повідомлення про помилку:
Сталася помилка автентифікації.
Зв’язатися з місцевим органом безпеки не можна
Віддалений комп’ютер: xxxxxx
Можливо, це пов’язано з минулим паролем
Будь ласка, оновіть свій пароль, якщо термін його дії минув.
Таким чином, при використанні 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), але за замовчуванням ця функція відключена. Для зміни пароля використовується сценарій в файлі пароль.aspx, Який знаходиться в каталозі C.: Windows Веб RDWeb Сторінки в-НАС.
Щоб активувати цю функцію зміни пароля, потрібно на сервері з налагодженою роллю Remote Desktop Web Access відкрити консоль управління веб-сервером IIS (IIS Менеджер), Перейти в розділ [Server Name] -> Сайти -> За замовчуванням Інтернет Сайт -> RDWeb -> Сторінки і відкрити розділ з настройками програми (Застосування Налаштування).
Перезапустіть IIS з консолі або за допомогою команди IISRESET.
Щоб перевірити доступність сторінки зміни, перейдіть на веб-адреса:
https: //[RD-WEB-1]/RDWeb/Pages/en-US/password.aspx
Після успішної зміни пароля користувача має з’явиться повідомлення:
Your password has been successfully changed.
Натисніть ОК, і користувач буде перенаправлено на сторінку входу RD Web.
Якщо пароль користувача не відповідає пральний політиці домену, з’явиться вікно з попередженням:
Ваш новий пароль не відповідає вимогам щодо довжини, складності та історії вашого домену. Спробуйте вибрати інший новий пароль.
Ви можете використовувати цей спосіб зміни пароля на Віддалений Робочий стіл Інтернет Доступ тільки якщо на RDWA сервері включена аутентифікація Форми Аутентифікація. При використанні методу Windows Аутентифікація, Зміна пароля через форму RD Web неможлива.
Тепер при спробі підключитися до веб сервера RD Web Access з вичерпаним паролем користувач буде перенаправлений на веб-сторінку password.aspx, на якій йому буде запропоновано змінити пароль.
Порада. Аналогічний функціонал для зміни пароля в Windows Server 2008 R2 з RD Web Access Role може бути доступний після установки спеціального патча – Кб 2648402.
Ви можете додати посилання на сторінку з формою зміни пароля можна безпосередньо в веб-форму входу на сервер 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 сервері без втручання адміністратора.