Невозможно сменить пароль при входе на терминальный сервер MS Windows 2012 R2 и выше

CredSSP NLA и смена пароля через RDP

Есть одна важная особенность, касающаяся смены истекшего пароля пользователя по RDP, связанна с опцией Network Level Authentication (NLA) и протоколом Credential Security Support Provider (CredSSP). По умолчанию CredSSP с NLA для RDP включен во всех версиях Windows, начиная с Windows Server 2012/Windows 8. NLA обеспечивают защиту RDP сервера за счет выполнения аутентификации пользователя до установки RDP сеанса с сервером.

Если у пользователя истек пароль, или администратор AD через атрибуты пользователя включил ему опцию userAccountControl “Требовать смену пароля при первом входе в систему/ User must change password at next logon ” (чаще всего это опцию включают для новых учетных записей AD), то при входе в систему по RDP появится ошибка:

Remote Desktop Connection You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support.
Подключение к удаленному рабочему столу Перед первым входом в систему необходимо сменить пароль. Обновите пароль либо обратитесь к вашему системному администратору или в службу технической поддержки.

Подключение к удаленному рабочему столу Перед первым входом в систему необходимо сменить пароль

Как результат — пользователь не сможет подключиться к RDP серверу и сменить пароль.

В этом случае, чтобы пользователь мог самостоятельно сменить пароль, можно:

  • Отключить NLA на RDP сервере (не рекомендуется!!!, т.к. существенно снижает уровень безопасности для RDP подключений) и использовать для подключения .rdp файл со строкой enablecredsspsupport:i:0
    • Запускаем оснастку «Службы удаленных рабочих столов»
    • Выбираем QuickSesionCollection -> Свойства коллекции -> Задачи -> Изменить свойства
    • Выбираем Безопасность -> Уровень безопасности -> Согласование -> Уровень безопасности RDP
  • Создать отдельный сервер для смены паролей пользователей. На этот сервер не нужно устанавливать роль Remote Desktop Session Host, не нужно добавлять пользователей в локальную группу доступа Remote Desktop Users, но нужно отключить NLA. В этом случае пользователи смогу сменить пароль, но не смогут войти на сервер по RDPRDP отключение проверки поддлинности на уровне сети (NLA)
  • Пользователь может изменить свой пароль удаленно через PowerShell (если у него есть сетевой доступ к контроллеру домена).