13

ИНФОРМАЦИЯ:

  • У меня возникает ситуация, когда я вынужден использовать сервер (Windows 2012 R2), который НЕ является частью домена и НЕ имеет AD. Это не мой выбор, не оптимальный, но вне моего контроля.

  • У меня также есть локальные пользователи, которые подключаются к этому серверу через RDP, и у локальных пользователей есть политика истечения срока действия пароля.

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

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

Я снял флажок «Разрешить подключения ТОЛЬКО от компьютеров, на которых запущен удаленный рабочий стол с аутентификацией на уровне сети» со стороны сервера, поэтому сервер НЕ требует NLA для входящих сеансов RDP.

Тем не менее, при использовании диспетчера подключений к удаленному рабочему столу Windows, кажется, форсирует NLA.

Если я использую клиент удаленного рабочего стола "Терминалы", на стороне клиента есть возможность отключить использование "Аутентификация на уровне сети". Если я отключаю NLA через клиент Terminals и подключаюсь к серверу, это позволяет мне изменить пароль пользователя с истекшим сроком действия.

ВОПРОС: Я предполагаю, возможно, неправильно, что программа Terminals просто находится поверх протоколов подключения к удаленному рабочему столу Windows, и что если вы можете отключить клиентскую часть проверки подлинности на уровне сети через программу Terminals, то вы также должны иметь возможность отключите это через встроенный диспетчер подключений к удаленному рабочему столу Windows. К сожалению, я не вижу эту опцию в графическом интерфейсе диспетчера соединений и не вижу никаких параметров в ".RDP "файлы, специфичные для NLA.

Если я нажимаю "О программе" в диспетчере подключений к удаленному рабочему столу на стороне клиента, он сообщает, что "Проверка подлинности на уровне сети поддерживается". Формулировка заставляет меня поверить, что ее использование не является обязательным, но, опять же, я не вижу способа отключить ее в диспетчере соединений. Кстати, этот конкретный менеджер соединений v10.

3 ответа3

12

Вы можете решить эту проблему двумя способами:

1. Установите роль RD Web Access и включите опцию удаленной смены пароля

Следующие указания взяты из статьи woshub.com Разрешить пользователям сбрасывать просроченный пароль через RD WebAccess в Windows Server 2012:

В Windows 2012/2012 R2 появилась опция, позволяющая удаленному пользователю сменить свой пароль (текущий или устаревший) с помощью специальной веб-страницы на сервере RD Web Access. Пароль будет изменен следующим образом: пользователь входит на веб-страницу регистрации на сервере с ролью RD Web Access и меняет свой пароль с помощью специальной формы.

Параметр удаленной смены пароля доступен на сервере с ролью «Веб-доступ к удаленному рабочему столу», но по умолчанию он отключен. Для изменения пароля используется скрипт password.aspx , который находится в C:\Windows\Web\RDWeb\Pages\en-US.

  1. Чтобы включить параметр смены пароля, на сервере с настроенной ролью RD Web Access откройте консоль IIS Manager, перейдите в [Имя сервера] -> Сайты -> Веб-сайт по умолчанию -> RDWeb -> Страницы и откройте раздел Настройки приложения.

  2. На правой панели найдите параметр PasswordChangeEnabled и измените его значение на true.

  3. Вы можете проверить механизм смены пароля, перейдя на следующую веб-страницу:

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

  4. Теперь при попытке подключиться к серверу Веб-доступ к удаленным рабочим столам с просроченным паролем пользователь будет перенаправлен на веб-страницу password.aspx и предложит сменить пароль.

    Совет Та же функция Windows Server 2008 R2 может стать доступной после установки специального патча - KB2648402.


2. Включить подсказки, уведомляющие пользователей об истечении срока действия пароля

  1. Запустите gpedit.msc на RDSH-сервере, чтобы открыть локальную групповую политику
  2. Перейдите к Computer Configuration\Windows Settings\Local Policies\Security Options
  3. Измените настройку Интерактивный вход в систему: попросите пользователя сменить пароль до истечения срока действия и укажите разумное количество дней, например 14.
  4. Пользователи, включая тех, кто вошел в систему с помощью удаленного рабочего стола, получат уведомление до истечения срока действия их пароля.
9

Оказывается, это контролируется с помощью незарегистрированной собственности в.Файл конфигурации RDP, называемый "enablecredsspsupport", устанавливая его в "0", он загружает страницу входа в сеанс RDP и позволяет пользователю изменить свой пароль с истекшим сроком действия.

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

enablecredsspsupport: я: 0

Если вам нужна дополнительная ссылка или чтение, перейдите сюда:Тирания аутентификации сетевого уровня и CredSSP

0

Ни один из вариантов не работал для меня, так как у меня включен 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 вопроса - имя пользователя, старый пароль, новый пароль, контроллер домена и измените пароль для вас. Он работает и с подключенного к домену компьютера. Требуется подключение к DC.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .