Дозволити користувачам змінити термін дії, що минув, через підключення до віддаленого робочого столу


13

ІНФОРМАЦІЯ:

  • У мене виникає ситуація, коли я змушений використовувати сервер (Windows 2012 R2), який НЕ є частиною домену і не має AD. Це не мій вибір, не є оптимальним, але поза моїм контролем.

  • У мене також є місцеві користувачі, які підключаються до цього сервера через RDP, і місцеві користувачі мають політику терміну дії пароля.

  • Оскільки AD / Exchange не є частиною зображення, користувачі не отримують повідомлення про те, що термін дії їхніх паролів закінчується.

ПРОБЛЕМА: Проблема полягає в тому, що термін дії користувача закінчився, і він намагається увійти за допомогою підключення до віддаленого робочого столу. Це не дозволяє їм змінити свій пароль.

Я зняв прапорець "Дозволити з'єднання ТОЛЬКІ з комп'ютерів, на яких працює віддалений робочий стіл з автентифікацією мережевого рівня" з боку сервера, тому сервер НЕ вимагає надання NLA для вхідних сеансів RDP.

Однак при використанні диспетчера з’єднань з віддаленим робочим столом Windows, здається, це змушує NLA.

Якщо я використовую клієнт віддаленого робочого столу "Термінали", на стороні клієнта є можливість відключити використання "Аутентифікація на рівні мережі". Якщо я відключив NLA через клієнт терміналів, і я підключуюсь до сервера, це дозволяє мені змінити термін дії користувача, який минув.

ПИТАННЯ: Я роблю припущення, можливо, неправильно, що програма Terminals просто сидить над протоколами підключення до віддаленого робочого столу Windows, і що якщо ви можете відключити клієнтську мережу аутентифікації на рівні програми через термінали, ви також можете мати можливість відключіть це за допомогою вбудованого Windows Remote Desktop Connector Manager. На жаль, я не бачу цієї опції в GUI менеджерів з'єднань і не бачу жодних параметрів у файлах ".RDP", характерних для NLA.

Якщо я натискаю "Про" на стороні клієнта Диспетчер підключень до віддаленого робочого столу, це говорить мені, що "Підтримка автентифікації на рівні мережі підтримується". Формулювання змушує мене вважати, що використовувати його необов’язково, але знову ж таки, я не бачу способу його вимкнути в диспетчері з'єднань. До речі, саме цей менеджер з'єднань - v10.


1
Я відредагував ваше запитання (конкретно заголовок), щоб зосередитися на вашій основній цілі, а не на запропонованому методі досягнення мети. Дивіться проблему XY .
Я кажу, відновіть Моніку

Відповіді:


13

Ви можете вирішити це за допомогою двостороннього підходу:

1. Встановіть роль RD Web Access і ввімкніть опцію віддаленої зміни пароля

Наступні вказівки наведені в статті woshub.com Дозволити користувачам скинути прострочений пароль через RD WebAccess в Windows Server 2012 :

У Windows 2012/2012 R2 з'явилася опція, яка дозволяє віддаленому користувачеві змінювати свій пароль (поточний чи термін дії, який минув), використовуючи спеціальну веб-сторінку на сервері веб-доступу RD. Пароль буде змінено так: користувач входить на веб-сторінку реєстрації на сервері за допомогою ролі RD Web Access та змінює свій пароль за допомогою спеціальної форми.

Параметр віддаленої зміни пароля доступний на сервері з роллю віддаленого робочого столу (Веб-доступ RD), але він відключений за замовчуванням. Для зміни пароля використовується сценарій password.aspx , який знаходиться в C: \ Windows \ Web \ RDWeb \ Pages \ en-US .

  1. Щоб увімкнути параметр зміни пароля, на сервері з налаштованою роллю RD Web Access відкрийте консоль менеджера IIS, перейдіть до [Ім'я сервера] -> Сайти -> Веб-сайт за замовчуванням -> RDWeb -> Сторінки та відкрийте розділ Налаштування програми .

    введіть тут опис зображення

  2. У правій області знайдіть параметр PasswordChangeEnabled та змініть його значення на true .

    введіть тут опис зображення

  3. Ви можете перевірити механізм зміни пароля, перейшовши на таку веб-сторінку:

    https: //RDSServerName/RDWeb/Pages/en-US/password.aspx

    введіть тут опис зображення

  4. Тепер при спробі підключитися до сервера веб-доступу RD із минулим паролем користувач буде перенаправлений на веб-сторінку password.aspx та запропонує змінити свій пароль.

    введіть тут опис зображення

    Порада . Ця ж функція Windows Server 2008 R2 може стати доступною після встановлення спеціального виправлення - KB2648402 .


2. Увімкнути підказки, сповіщаючи користувачів про закінчення терміну дії пароля

  1. Запустіть gpedit.mscна сервері RDSH, щоб відкрити локальну групову політику
  2. Нагівати до Computer Configuration\Windows Settings\Local Policies\Security Options
  3. Відредагуйте налаштування Інтерактивне вхід: Запропонуйте користувачеві змінити пароль до закінчення терміну і вказати розумну кількість днів, наприклад 14.
  4. Користувачі, включаючи тих, хто ввійшов через віддалений робочий стіл, отримуватимуть сповіщення до закінчення терміну дії пароля.

Спасибі @twisty, я мав би зазначити, що встановлення ролі сервера віддаленого робочого столу також не є варіантом. Однак це чудова інформація для когось іншого, що перебуває у подібній ситуації. Підказки - це добре знати, хоча!
1717

3
Тоді у вас немає іншого вибору, крім відключення NLA на сервері та клієнтах, щоб дозволити їм змінити пароль. Небезпечно, що це значно знижує безпеку з'єднань RDP.
Я кажу, відновіть Моніку

10

Виявляється, цим керує властивість, що не міститься у списку у файлі конфігурації .RDP під назвою "enablecredsspsupport", встановивши це значення "0", він завантажує сторінку входу в сеанс RDP і дозволяє користувачеві змінити свій термін дії, що минув.

Точний синтаксис, необхідний у файлі конфігурації .RDP:

enablecredsspsupport: i: 0

Якщо вам потрібна додаткова довідка чи читання, перейдіть сюди: Тиранія аутентифікації мережевого рівня та CredSSP


7
Це працює лише в тому випадку, якщо сервер не вимагає NLA. В іншому випадку ви отримаєте повідомлення про те, що віддалений комп'ютер вимагає підтримки мережевого рівня, але не підтримується на локальному комп'ютері. Ви повинні пояснити, що насправді робить цей параметр, можливо, посилаючись на абзац із пов'язаної статті.
simlev

1
Примітка: натискання кнопки "Зберегти" у підключенні до віддаленого робочого столу створить конфігураційний файл Default.rdc. (Клацніть кнопку «Зберегти як», щоб побачити, в якому каталозі зберігається файл.) Це файл для редагування, якщо ви хочете, щоб цей параметр був за замовчуванням. Або ви можете помістити його в інший .RDP-файл, який ви відкриєте вручну, коли вам це потрібно.
Бампфер

3

Жоден із варіантів не працював для мене з моменту включення NLA. Ось спосіб змінити його за допомогою PowerShell - повна історія про те, як змінити власний пароль, що минув, коли ви не можете увійти в RDP .

function Set-PasswordRemotely {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)][string] $UserName,
        [Parameter(Mandatory = $true)][string] $OldPassword,
        [Parameter(Mandatory = $true)][string] $NewPassword,
        [Parameter(Mandatory = $true)][alias('DC', 'Server', 'ComputerName')][string] $DomainController
    )
    $DllImport = @'
[DllImport("netapi32.dll", CharSet = CharSet.Unicode)]
public static extern bool NetUserChangePassword(string domain, string username, string oldpassword, string newpassword);
'@
    $NetApi32 = Add-Type -MemberDefinition $DllImport -Name 'NetApi32' -Namespace 'Win32' -PassThru
    if ($result = $NetApi32::NetUserChangePassword($DomainController, $UserName, $OldPassword, $NewPassword)) {
        Write-Output -InputObject 'Password change failed. Please try again.'
    } else {
        Write-Output -InputObject 'Password change succeeded.'
    }
}

Просто запустіть, Set-PasswordRemotelyі він задасть вам 4 питання - ім’я користувача, старий пароль, новий пароль, контролер домену та змінить пароль для вас. Він працює і з ПК, що не приєднався до домену. Потрібен підключення до постійного струму.


ви можете використовувати ECHO% LOGONSERVER%, щоб отримати контролер вашого домену, це і повноваження вище спрацювали чудово
kevinsky
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.