Windows 7 rdp запрашивает пароль

Встроенный RDP клиент Windows (mstsc.exe) позволяет сохранить на компьютере имя и пароль пользователя для подключения к удаленному рабочему столу. Благодаря этому пользователю не нужно каждый раз вводить пароль для подключения к удаленному RDP компьютеру/серверу. В этой статье мы рассмотрим, как разрешить сохранять учетные данные для RDP подключений в Windows, и что делать, если несмотря на все настройки, у пользователей не сохраняются пароли для RDP подключения (пароль запрашивается каждый раз)

Содержание:

  • Как сохранить пароль для RDP подключения в Windows?
  • Что делать, если в Windows не сохраняется пароль для RDP подключения?
  • Политика проверки подлинности сервере не допускает подключение сохраненными учетными данными
  • Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные

Как сохранить пароль для RDP подключения в Windows?

По умолчанию Windows разрешает пользователям сохранять пароли для RDP подключений. Для этого в окне клиента Remote Desktop Connection (mstsc.exe) пользователь должен ввести имя удаленного RDP компьютера, учетную запись и поставить галку “Разрешить мне сохранять учетные данные” (Allow me to save credential). После того, как пользователь нажимает кнопку “Подключить”, RDP сервер запрашивает пароль и компьютер сохраняет его в Windows Credential Manager (не в .RDP файл).

сохранить данные для rdp подключения

При следующем подключении к удаленному RDP серверу под этим же пользователем, клиент автоматически получит сохраненный пароль из менеджера паролей Windows и использует его для RDP-аутентификации.

Если для данного компьютера имеется сохраненный пароль, в окне RDP клиента будет указано:

При подключении к данному компьютеру будут использоваться сохранённые учетные данные. Эти учетные данные можно изменить или удалить.
Saved credentials will be used to connect to this computer. You can edit or delete these credentials.

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

В большинстве случаев администраторы не рекомендуют пользователям сохранять пароли подключений в Windows. Например, в домене Active Directory лучше настроить SSO (Single Sign-On) для прозрачной RDP аутентификации.

По умолчанию Windows не разрешает пользователю использовать сохраненный пароль RDP подключения с компьютера, добавленного в домен Active Directory, к компьютеру/серверу, который находится в другом домене или рабочей группе. Несмотря на то, что пароль для подключения сохранен в Credentials Manager, Windows не позволяет его использовать, и требует от пользователя каждый раз вводить пароль. Также Windows не разрешает использовать сохраненный пароль для RDP, если вы подключаетесь не под доменной, а под локальной учетной записью.

При попытке RDP подключения с сохраненным паролем в этой ситуации появляется окно с ошибкой:

Your Credentials did not work

Your system administrator does not allow the use of saved credentials to log on to the remote computer CompName because its identity is not fully verified. Please enter new credentials.

Или (в русской редакции Windows 10):

Недопустимые учетные данные
Системный администратор запретил использовать сохраненные учетные данные для входа в систему удаленного компьютера CompName, так как его подлинность проверена не полностью. Введите новые учетные данные.

Your system administrator does not allow the use of saved credentials to log on to the remote computer

Windows считает такое подключение небезопасным, т.к. отсутствуют доверительные отношения между этим компьютером и удаленным компьютером/сервером в другом домене (или рабочей группе).

Вы можете изменить эти настройки на компьютере, с которого выполняется RDP подключение:

  1. Откройте редактор локальной GPO, нажав Win + R -> gpedit.msc ;
    gpedit.msc

  2. В редакторе GPO перейдите в раздел Computer Configuration –> Administrative Templates –> System –> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных). Найдите политику с именем Allow delegating saved credentials with NTLM-only server authentication (Разрешить передачу сохраненных учетных данных с проверкой подлинности сервера только NTLM);
    политика Разрешить делегирование сохраненных учетных данных с проверкой подлинности сервера только NTLM

  3. Дважды щелкните по политике. Включите политику (Enable) и нажмите на кнопку Показать (Show);
    Allow delegating saved credentials with NTLM-only server authentication

  4. В открывшемся окне нужно будет указать список удаленных компьютеров (серверов), для которых будет разрешено использовать сохранные пароли для RDP подключения. Список удаленных компьютеров нужно указать в следующих форматах:
    • TERMSRV/server1
      — разрешить использование сохранённых паролей для RDP подключения к одному конкретному компьютеру/серверу;
    • TERMSRV/*.winitpro.ru
      — разрешить RDP подключение ко всем компьютерам в домене winitpro.ru;
    • TERMSRV/*
      — разрешить использование сохранённого пароля для подключения к любым компьютерам.

    список termsrv серверов, для авторизации на которых можно использовать сохраненный пароль rdp

    Примечание. TERMSRV нужно обязательно писать в верхнем регистре, а имя компьютера должно полностью соответствовать тому, которое вы указываете в поле подключения RDP клиента.

  5. Аналогичным образом включите и добавьте ваши значения TERMSRV/ в параметр Allow Delegating Saved Credentials (“Разрешить передачу сохранённых учетных данных”);

    Этим настройкам GPO соответствуют следующие параметры реестра:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]
    "AllowSavedCredentialsWhenNTLMOnly"=dword:00000001
    “AllowSavedCredentials”=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
    "1"="TERMSRV/*"
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
    "1"="TERMSRV/*"
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation]
    “AllowSavedCredentialsWhenNTLMOnly”=dword:00000001
    “AllowSavedCredentials”=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
    "1"="TERMSRV/*"
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
    "1"="TERMSRV/*"
    
  6. Проверьте, что политика Deny delegating saved credentials / Запретить передачу сохраненных учетных данных отключена (или не настроена). Запретительные политики GPO имеют более высокий приоритет, чем разрешающие;
  7. Также должен быть отключен параметр Network access: Do not allow storage of passwords and credentials for network authentication (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options); Если этот параметр включен, то при попытке сохранить пароль в хранилище пользователь получит ошибку:
    Credential Manager ErrorUnable to save credentials. 
     To save credentials in this vault, check your computer configuration.Error code: 0x80070520
    Error Message: A specified logon session does not exist. It may already have been terminated.
  8. Сохраните изменения и обновите групповые политики командой
    gpupdate /force

Теперь при выполнении RDP подключения клиент mstsc сможет использовать сохранённый пароль.

rdp подключение с сохраненым паролем

Вы можете вывести список сохранённых паролей для RDP подключений с помощью команды:

cmdkey /list ^| findstr "target=TERMSRV"

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

For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H

С помощью локального редактора групповых политик вы сможете переопределить политику только на локальном компьютере. Если вы хотите чтобы политика разрешения использования сохранённых паролей для RDP подключения действовала на множество компьютеров домена, используете доменные политики, которые настраиваются с помощью консоли gpmc.msc.

Что делать, если в Windows не сохраняется пароль для RDP подключения?

Если вы настроили Windows по инструкции выше, но клиент все равно при каждом повторном RDP подключении требует ввести пароль следует проверить следующее:

  1. В окне RDP подключения нажмите на кнопку “Показать параметры” и убедитесь, что опция “Всегда запрашивать учетные данные” (Always ask for credentials) не выбрана;
    mstsc - всегда запрашивать учетные данные rdp

  2. Если вы используете для подключения сохранённый RDP файл, проверьте, что параметр “prompt for credentials” равен 0 (
    prompt for credentials:i:0
    );
  3. Запустите редактор локальной групповой политики
    gpedit.msc
    , перейдите в раздел Конфигурация компьютера -> Компоненты Windows -> Службы удаленных рабочих столов -> Клиент подключения к удаленному рабочему столу (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client). Параметры “Запретить сохранение паролей” (Do not allow passwords to be saved) и Prompt for credentials on the client computer должны быть не заданы или отключены. Также убедитесь, что он отключен в результирующей политике на вашем компьютере (html отчет с применёнными настройками доменных политик можно сформировать с помощью gpresult);

    Запретить сохранение паролей rdp

  4. Удалите все сохраненные пароли в менеджере паролей Windows (Credential Manager). Наберите
    control userpasswords2
    и в окне “Учетные записи пользователей” перейдите на вкладку “Дополнительно” и нажмите на кнопку “Управление паролями”;

    управление сохраненеыми паролями в windows

    В открывшемся окне выберите “Учетные данные Windows”. Найдите и удалите все сохраненные RDP пароли (начинаются с TERMSRV/…).

    сохраненный пароль для rdp

    Из этого окна вы можете самостоятельно добавить учетных данные для RDP подключений. Обратите внимание, что имя удаленного RDP сервера (компьютера) нужно указывать в формате TERMSRV\server_name1. При очистке истории RDP подключений на компьютере, не забывайте удалять сохраненные пароли.

    сохранить пароль для rdp подключеняи к серверу

  5. Вход с сохраненным паролем также не будет работать, если удаленный RDP сервер давно не обновлялся и при подключении к нему появляется ошибка CredSSP encryption oracle remediation.

После этого, пользователи смогут использовать свои сохраненные пароли для rdp подключений.

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

При подключении к RDP хосту или ферме RDS с помощью сохраненного пароля может появится ошибка:

Windows Security
Your credentials did not work
The server’s authentication policy does not allow connection requests using saved credentials. Please enter new credentials.
Политика проверки подлинности на сервере не допускает запросы на подключение с использованием сохраненных учетных данных.

В этом случае на удаленном сервере нужно отключить параметр “Always prompt for password upon connection” в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security.

параметр групповой политики: всегда запрашивать пароль при rdp подключении

Если эта политика включена, RDP хост всегда запрашивает у клиента пароль для подключения.

Можно включить этот параметр через реестр:

REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /f

Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные

После обновления до Windows 11 22H2 пользователи стали жаловаться, что теперь они не могут использовать сохраненные пароли для RDP подключений:

Windows Security: Your credentials did not work
Windows Defender Credential Guard does not allow using saved credentials. Please enter your credentials.
Credential Guard в Защитнике Windows не разрешает использовать сохраненные учетные данные.

Представленные еще в Windows 10 1607 компонент Windows Defender Remote Credential Guard должен защищать ваши учетные данные для RDP подключений. В обновлении 22H2 по умолчанию он разрешает использовать сохраненные учетные данные только при использовании Kerberos аутентификации на RDP хосте. Если нельзя использовать Kerberos (контроллер домена не доступен, или вы подключаетесь к хосту в рабочей группе), Remote Credential Guard блокирует аутентификацию с помощью NTLM.

Для решения этой проблемы придется отключить Credential Guard через реестр:

New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\LSA" -Name "LsaCfgFlags" -PropertyType "DWORD" -Value 0 -Force

Вопрос:
Подключаюсь по RDP с рабочей станции на терминальный сервер с ОС Windows. Запрос аутентификации (а также запрос логина и пароля) происходит на стороне терминального клиента (Рабочей станции) в окне «Безопасность Windows». Как сделать так, чтобы запрос аутентификации происходил на стороне терминального сервера уже после установления RDP подключения?

Ответ:
Запрос имени пользователя и пароля на стороне терминального клиента является стандартной настройкой для операционных систем Microsoft версий Vista и выше. Чтобы окно с запросом пользователя не появлялось на терминальном клиенте при подключении к терминальному серверу по RDP, необходимо выполнить изменение системных настроек. После этого запрос будет происходить уже непосредственно на самом терминальном сервере.

Для отключения запроса пользователя на стороне терминального клиента при подключении к терминальному серверу по RDP необходимо для терминального сервера выполнить следующие настройки:

Вариант 1

GPO:

В настройках групповых политик в разделе Local Computer Policy\Computer Configuration\Windows Settings\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Security выставить следующие значения групповых политик для данного сервера:

  • Require user authentication for remote connections by using Network Level Authentication = disabled

  • Set client connection encription level = enabled, High

  • Require use of specific security layer for remote (RDP) connections = RDP

При комбинации настроек 2 и 3 канал будет шифроваться RC4 со 128-битным ключом.

Реестр:

Данные параметры можно настроить, изменив параметры в реестре. Для этого в редакторе реестра необходимо выполнить следующее:

  • Перейти в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services

  • Для параметра «UserAuthentication» тип DWORD задать значение 0 (если данный параметр отсутствует, его необходимо создать)

  • Для параметра «MinEncryptionLevel» тип DWORD задать значение 3 (если данный параметр отсутствует, его необходимо создать)

  • Для параметра «SecurityLayer» тип DWORD задать значение 0 (если данный параметр отсутствует, его необходимо создать)

Вариант 2
Создать на терминальном клиенте RDP-файл с настройками для подключения к терминальному серверу. Открыть файл на редактирование в текстовом редакторе. Добавить в список настроек в файле следующую строку:

EnableCredSSPSupport:i:0

В этой статье расскажем, как настроить сохранение паролей для RDP подключений в Windows и какие действия предпринять, если пароли не сохраняются, несмотря на все настройки (пароль каждый раз запрашивается заново).

Приобрести оригинальные ключи активации Windows Server можно у нас в каталоге от 1190 ₽

Как сохранить пароль для RDP подключения в Windows?

По умолчанию Windows позволяет пользователям сохранять пароли для RDP подключений. Для этого в окне клиента Remote Desktop Connection (mstsc.exe) нужно ввести имя удаленного компьютера, учетные данные и отметить галочкой опцию “Разрешить мне сохранять учетные данные” (Allow me to save credentials). После нажатия кнопки “Подключить”, сервер RDP запрашивает пароль, который сохраняется в Windows Credential Manager, а не в .RDP файл.

При следующем подключении клиент автоматически получит сохраненный пароль из менеджера паролей Windows и использует его для аутентификации.

Если для компьютера имеется сохраненный пароль, в окне клиента будет указано:

При подключении к данному компьютеру будут использоваться сохранённые учетные данные. Эти учетные данные можно изменить или удалить.

Администраторы часто не рекомендуют пользователям сохранять пароли подключений в Windows. Например, в домене Active Directory предпочтительнее настроить SSO (Single Sign-On) для более безопасной аутентификации.

По умолчанию Windows не разрешает использовать сохраненный пароль для RDP подключения с компьютера в домене Active Directory к серверу, находящемуся в другом домене или рабочей группе. Несмотря на то, что пароль сохранен в Credentials Manager, Windows требует от пользователя вводить его заново. Также Windows запрещает использование сохраненного пароля для RDP, если подключение происходит под локальной учетной записью, а не доменной.

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

Your Credentials did not work
Your system administrator does not allow the use of saved credentials to log on to the remote computer CompName because its identity is not fully verified. Please enter new credentials.

Или (в русской версии Windows 10):

Недопустимые учетные данные
Системный администратор запретил использовать сохраненные учетные данные для входа в систему удаленного компьютера CompName, так как его подлинность проверена не полностью. Введите новые учетные данные.

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

Чтобы изменить эти настройки на компьютере, с которого выполняется RDP подключение:

1. Откройте редактор локальной GPO с помощью Win + R и команды gpedit.msc

2. Перейдите в раздел Computer Configuration –> Administrative Templates –> System –> Credentials Delegation (Конфигурация компьютера -> Административные шаблоны -> Система -> Передача учетных данных).

3. Найдите политику под названием Allow delegating saved credentials with NTLM-only server authentication (Разрешить передачу сохраненных учетных данных с проверкой подлинности сервера только NTLM).

4. Дважды щелкните по политике, включите её (Enable) и нажмите кнопку “Показать” (Show).

5. Укажите список удаленных компьютеров, для которых можно использовать сохраненные пароли для RDP подключения. Список должен быть в следующих форматах:

TERMSRV/server1

— разрешает подключение к одному конкретному серверу;

TERMSRV/*.softcomputers.org

— разрешает подключение ко всем серверам в домене softcomputers.org;

TERMSRV/*

— разрешает подключение к любым серверам.

Примечание. TERMSRV необходимо писать заглавными буквами, а имя сервера должно полностью совпадать с тем, что указано в настройках клиента RDP.

Также добавьте ваши значения TERMSRV/ в параметр Allow Delegating Saved Credentials (“Разрешить передачу сохранённых учетных данных”).

Эти настройки можно задать в реестре с помощью следующих параметров:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]
"AllowSavedCredentialsWhenNTLMOnly"=dword:00000001
"AllowSavedCredentials"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation]
"AllowSavedCredentialsWhenNTLMOnly"=dword:00000001
"AllowSavedCredentials"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentialsWhenNTLMOnly]
"1"="TERMSRV/*"
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\Microsoft\Windows\CredentialsDelegation\AllowSavedCredentials]
"1"="TERMSRV/*"

Убедитесь, что политика Deny delegating saved credentials (“Запретить передачу сохраненных учетных данных”) отключена или не настроена. Запрещающие политики имеют более высокий приоритет, чем разрешающие.

Также следует отключить параметр Network access: Do not allow storage of passwords and credentials for network authentication (Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options). Если этот параметр включен, при попытке сохранить пароль будет возникать ошибка:

Credential Manager Error
Unable to save credentials. To save credentials in this vault, check your computer configuration.
Error code: 0x80070520
Error Message: A specified logon session does not exist. It may already have been terminated.

Сохраните изменения и обновите групповые политики с помощью команды gpupdate /force.

Теперь при RDP подключении клиент mstsc сможет использовать сохранённый пароль.

Чтобы просмотреть список сохранённых паролей для RDP подключений, используйте команду:

cmdkey /list ^| findstr "target=TERMSRV"

Чтобы удалить сохраненные пароли, выполните команду:

For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H

Редактор локальных групповых политик позволяет изменить настройки только для одного компьютера. Если нужно, чтобы политика действовала на многие компьютеры в домене, используйте доменные политики через консоль gpmc.msc.

Что делать, если пароль для RDP подключения в Windows не сохраняется?

Если настройки выполнены по инструкции, но при каждом подключении система требует ввести пароль, проверьте следующие моменты:

1. В настройках RDP убедитесь, что опция “Всегда запрашивать учетные данные” (Always ask for credentials) не выбрана.

2. Если используется сохранённый RDP файл, проверьте, что параметр “prompt for credentials” равен 0 (prompt for credentials:i:0).

3. В редакторе локальной политики gpedit.msc перейдите в раздел Конфигурация компьютера -> Компоненты Windows -> Службы удаленных рабочих столов -> Клиент подключения к удаленному рабочему столу (Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Connection Client). Параметры “Запретить сохранение паролей” (Do not allow passwords to be saved) и Prompt for credentials on the client computer должны быть не заданы или отключены. Проверьте также результирующую политику на вашем компьютере с помощью команды gpresult.

4. Удалите все сохраненные пароли в менеджере паролей Windows (Credential Manager). Запустите control userpasswords2 и перейдите на вкладку “Дополнительно”, затем нажмите на кнопку “Управление паролями”. В открывшемся окне выберите “Учетные данные Windows” и удалите все сохраненные RDP пароли (начинаются с TERMSRV/…).

Из этого окна можно вручную добавить учетные данные для RDP подключения. Имя сервера должно быть указано в формате TERMSRV\server_name1. После очистки истории RDP подключений на компьютере не забудьте удалить сохраненные пароли.

Из этого окна вы можете самостоятельно добавить учетных данные для RDP подключений. Обратите внимание, что имя удаленного RDP сервера (компьютера) нужно указывать в формате TERMSRV\server_name1. При очистке истории RDP подключений на компьютере, не забывайте удалять сохраненные пароли.

Подключение с сохраненным паролем не будет работать, если сервер RDP давно не обновлялся, и при подключении возникает ошибка CredSSP encryption oracle remediation.

После выполнения всех действий пользователи смогут использовать сохраненные пароли для RDP подключений.

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

При подключении к RDP хосту с использованием сохраненного пароля может появиться ошибка:

Windows Security
Your credentials did not work
The server’s authentication policy does not allow connection requests using saved credentials. Please enter new credentials.

Для устранения ошибки на удаленном сервере необходимо отключить параметр “Always prompt for password upon connection” в разделе Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security.

Если данная политика включена, сервер RDP всегда будет запрашивать пароль у клиента.

Этот параметр можно отключить через реестр:

REG add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fPromptForPassword /t REG_DWORD /d 0 /f

Credential Guard в Защитнике Windows может блокировать использование сохраненных учетных данных

После обновления до Windows 11 22H2 пользователи часто сообщают, что не могут использовать сохраненные пароли для RDP подключений:

Windows Security: Your credentials did not work
Windows Defender Credential Guard does not allow using saved credentials. Please enter your credentials.

В Windows 10 1607 была представлена функция Windows Defender Remote Credential Guard для защиты учетных данных при RDP подключениях. В обновлении 22H2 по умолчанию разрешается использование сохраненных учетных данных только при аутентификации с помощью Kerberos. Если Kerberos использовать невозможно (например, контроллер домена недоступен или подключение происходит к рабочей группе), Remote Credential Guard блокирует использование NTLM.

Чтобы отключить Credential Guard, выполните команду в реестре:

New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\LSA" -Name "LsaCfgFlags" -PropertyType "DWORD" -Value 0 -Force

При использовании удалённого подключения к операционным системам Microsoft Windows/Windows Server по протоколу RDP в некоторых случаях может возникать потребность в смене пароля учётной записи пользователя. При этом инициатором смены пароля в разных ситуациях может выступать как сам пользователь, так и администратор Windows-системы. В  некоторых сценариях может получиться так, что, казалось бы, несложная задача смены пароля может стать не такой уж и простой. Поэтому в данной записи я попробую собрать информацию о самых разнообразных способах смены пароля учётной записи пользователя в RDP-сессии.

Способ №1 — «Горячие» клавиши

В случае, если пользователю Windows необходимо самостоятельно изменить пароль своей учётной записи, то в стандартной Windows-сессии пользователем может использоваться всем известное сочетание «горячих» клавиш Ctrl-Alt-Del. Это сочетание клавиш вызывает специальный экран Безопасности Windows (Windows Security), с которого доступна функция изменения пароля:

Если же речь заходит об использовании горячих клавиш в RDP-сессиях, то стоит заметить то, что во избежание перехвата некоторых сочетаний клавиш локальной клиентской системой (системой, с которой запускается RDP-клиент), перенаправление сочетаний клавиш Windows должно быть явно разрешено в свойствах RDP-клиента. Например в клиенте mstsc.exe, встроенном в Windows, данную опцию можно включить на закладке управления локальными ресурсам.

В стандартной первичной RDP-сессии для вызова специального экрана Безопасности Windows с функцией изменения пароля используется сочетание клавиш: CtrlAltEnd

В случае использования вложенных RDP-сессий (второго и последующего уровней), то есть когда из одной RDP-сессии открывается другая RDP-сессия, стандартное сочетание клавиш работать не будет. В разных источниках в интернете можно найти информацию об использовании более сложных сочетаний клавиш, таких как CtrlAltShift-End или Shift-Ctrl-Alt-End. Однако мои эксперименты с Windows 10/Windows Server 2012 R2 показали, что данные сочетания клавиш попросту не работают (возможно они работали в ранних версиях ОС Windows). В этом случае на выручку нам может прийти следующий способ.

Способ №2 — Экранная клавиатура

В составе Windows имеется приложение «Экранная клавиатура» (On-Screen Keyboard), расположенное по умолчанию в %SystemRoot%\System32\osk.exe. Используя это приложение, мы можем решить проблему использования «горячих» клавиш во вложенных RDP-сессиях.

Находясь во вложенной RDP-сессии, вызовем окно запуска приложений. Вызвать его можно разными способами, например, через контекстное меню по кнопке Windows, или через Диспетчер задач (Task Manager):

Либо можно использовать сочетание клавиш Win-R.

В окне запуска приложений выполним запуск исполняемого файла osk.exe

После того, как откроется приложение «Экранная клавиатура», нажмём на физической клавиатуре сочетание клавиш CtrlAlt, так, чтобы это отобразилось на экранной клавиатуре и затем, удерживая это сочетание клавиш, на экранной клавиатуре мышкой нажмём кнопку Del.

Таким образом мы отправим в удалённую RDP-сессию сочетание клавиш Ctrl-Alt-Del, в следствие чего откроется специальный экран Безопасности Windows с функцией изменений пароля пользователя.

Способ №3 – Ярлык на VBS-скрипт или Powershell

Вызов экрана Безопасности Windows можно выполнить не только интерактивными способами, но и программными, например, с помощью скриптов.

Создадим VBS-скрипт, например, с именем Windows Security.vbs. Наполним скрипт следующим содержимым:

Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity

Разместим скрипт в месте, доступном на чтение (но не для редактирования) для всех пользователей удалённого рабочего стола, например в каталоге %SystemRoot% (C:\Windows). А ярлык на запуск скрипта можно разместить в любом доступном пользователям месте, например, в каталоге общего профиля %SystemDrive%\Users\Public\Desktop\

При запуске данного ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля.

Для любителей PowerShell приведённый VBS-скрипт можно заменить PS-скриптом следующего вида:

$ShellObject = New-Object -ComObject Shell.Application
$ShellObject.WindowsSecurity()

Либо запускать из ярлыка команду вида:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -nologo -noninteractive -command "(new-object -ComObject shell.application).WindowsSecurity()"

Однако стоит отметить тот факт, что запуск варианта с PowerShell будет происходить медленней, чем варианта с VBS-скриптом.

Описанные здесь способы с запуском ярлыка, ссылающегося на скрипт, может попросту не сработать, так как в некоторых окружениях серверов служб удалённых рабочих столов может быть заблокирована возможность выполнения скриптов. В таком случае, можно воспользоваться следующим способом.

Способ №4 – Ярлык оболочки Windows Explorer

Если говорить о создании ярлыка запуска экрана Безопасности Windows, то имеется ещё один вариант создания такого ярлыка. Создаётся ярлык со ссылкой на расширение оболочки Windows Explorer следующего вида:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Опять же, при запуске такого ярлыка у пользователя будет открываться экран Безопасности Windows с возможностью изменения пароля. Этот способ одинаково хорошо работает на Windows 10 и на Windows Server 2012 R2.

Способ №5 – Панель управления Windows (локальные учётные записи)

Данный способ относится лишь к локальным учётным записям пользователей. Изменить пароль учётной записи рядового локального пользователя можно через Панель управления Windows. В Windows 10 из раздела Панели управления «Учётные записи пользователей» доступен вызов окна «Параметры компьютера«, в котором имеется функция изменения пароля текущего локального пользователя.

Такие методы вызова апплета управления учётными записями пользователей Панели управления Windows, как, например команда «control userpasswords2«, в качестве отдельного способа мы выделять не будем, так как подобные действия требуют административных прав в удалённой системе. То же самое касается и таких CLI-утилит Windows, как net.exe (%SystemRoot%\System32\net.exe) (пример команды «net user username newpassword«), так как они тоже требуют повышения уровня прав пользователя.

Ремарка

Отдельно хочется отметить обстоятельство, про которое порой забывают администраторы, и это может приводить к разным курьёзным ситуациям.

Попытки смены пароля, инициированные самим пользователем, могут оказаться безуспешными в случае, если пароль был недавно изменён и на удалённую Windows систему действует политика безопасности, определяющая минимальный срок действия пароля.

Как правило, это настраивается на уровне стандартных доменных групповых политик Active Directory и/или механизмов Password Settings objects (PSOs).

Повторюсь, что повлиять на ситуацию эта политика может только в случаях, когда пользователь самостоятельно инициирует процедуру смены пароля.

Далее мы поговорим о сценарии, при котором требование смены пароля включается для учётной записи пользователя форсировано администратором сервера (для локальных учётных записей), либо администратором службы каталогов Active Directory (для доменных учётных записей).

Практика показывает, что как только администратором включено требование смены пароля пользователя при следующем входе в систему, у пользователя могут возникнуть проблемы с подключением по протоколу RDP, если на стороне RDS сервера (а в некоторых случаях и на стороне RDS клиента) предварительно не предпринято никаких действий по специальной настройке обработки таких ситуаций. Далее мы рассмотрим пару примеров такой настройки.

Способ №6 — Remote Desktop Web Access

Клиентский доступ к службам Windows Server RDS может быть организован через веб-интерфейс серверной роли Remote Desktop Web Access (RDWA). В функционале этой роли имеется выключенная по умолчанию возможность смены пароля пользователя в процессе аутентификации на веб-странице RDWA.

Сразу стоит отметить то, что данный способ смены пароля будет доступен только в том случае, если на веб-узлах RDWA используется аутентификация на основе формы (Forms Authentication), а этот тип аутентификации несовместим с типом Windows Authentication, о подключении которого мы говорили ранее.

Чтобы включить данную возможность в Windows Server 2012/2012 R2 откроем консоль управления Internet Information Services (IIS) Manager, выберем сайт RDWA, развернём RDWeb > Pages и в разделе настроек ASP.NET выберем настройку опций веб-приложения Application Settings:

В перечне опций находим PasswordChangeEnabled и меняем установленное по умолчанию значение false на true:

Если серверов RDWA несколько и они работают в пуле за балансировщиком, например Windows NLB, то не забываем выполнить данное изменение на всех других серверах пула.

Теперь попытаемся от имени пользователя, у которого в свойствах учётной записи установлено требование смены пароля при следующем входе, аутентифицироваться на веб-странице RDWA:

После ввода учётных данных пользователя появится сообщение о том, что пароль пользователя требует замены и ссылка на страницу с функцией смены пароля (https://<RDWA FQDN>/RDWeb/Pages/ru-RU/password.aspx):

На этой отдельной странице пользователь сможет ввести свои текущие учётные данные и новый пароль:

В случае успешной смены пароля пользователь получит соответствующее сообщение:

При необходимости ссылку на страницу смены пароля можно сделать доступной не только тем пользователям, у которых после аутентификации возникает требование смены пароля, но и всем остальным пользователям, чтобы они могли самостоятельно выполнять смену пароля по собственной инициативе через веб-страницу RDWA. Для этого можно будет внедрить ссылку на страницу password.aspx на странице входа login.aspx (по умолчанию страницы расположены в каталоге %windir%\Web\RDWeb\Pages\ru-RU)

Если же говорить про Windows Server 2008 R2, то в этой ОС для использования функции смены пароля в RDWA может потребоваться установка обновления KB2648402 — You cannot change an expired user account password in a remote desktop session that connects to a Windows Server 2008 R2-based RD Session Host server in a VDI environment.

Способ №7 – Специальный RDP-файл

Если пользователь выполняет подключение к удалённому рабочему столу на базе Windows Server 2012/2012 R2 через прямой запуск стандартного клиента mstsc.exe, то в ситуации с включенным признаком требования смены пароля, попытка подключения может быть завершена с ошибкой «You must change your password before logging on the first time. Please update your password or contact your system administrator or technical support«.

Если ситуация требует того, чтобы пользователь самостоятельно изменил свой пароль при первом входе в систему, то это потребует некоторого изменения уровня безопасности настроек протокола RDP на стороне RDS сервера и подготовки специального RDP-файла на стороне клиента.  

Сначала на клиентской стороне откроем mstsc.exe, настроим все нужные параметры подключения к серверу RDS и используя кнопку Сохранить как, создадим RDP-файл.

После этого откроем RDP-файл в текстовом редакторе и добавим в конец файла строку «enablecredsspsupport:i:0«

Добавление данного параметра в свойствах RDP-подключения позволит клиенту успешно установить RDP-сессию с удалённой системой и сменить пароль до получения доступа к удалённому рабочему столу. Однако этот параметр понизит уровень безопасности RDP-подключения, так как клиент не сможет использовать проверку подлинности на уровне сети — Network Level Authentication (NLA). И если на стороне RDS сервера включена обязательная проверка NLA, то пользователь всё равно не сможет подключиться и получит соответствующую ошибку «The remote computer requires Network Level Authentication, which your computer does not support…«.

Разрешить эту ситуацию можно только понизив уровень безопасности RDP на стороне RDS сервера, отключив обязательное требование проверки подлинности на уровне сети (NLA). Изменить эту настройку можно в свойствах системы на закладке Удалённый доступ:

В английской версии Windows название опции звучит как «Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended)»

Если NLA нужно отключить на уровне коллекции серверов Windows Server 2012 R2, то сделать этом можно в свойствах коллекции сеансов, например через оснастку Server Manager:

После того, как отключено требование NLA на стороне RDS сервера, клиент с помощью специального RDP-файла, о котором мы сказали выше, должен успешно установить RDP-сессию и уже в ней получить сообщение о необходимости смены пароля:

И после этого пользователю будет показан экран, на котором он сможет задать новый пароль:

После успешной смены пароля последующие подключения по протоколу RDP будут проходить в штатном режиме без лишних запросов.

Заключение

Приведённый здесь перечень способов смены пароля при использовании протокола RDP не претендует на какую-то полноту и исключительность, а лишь отражает ту информацию, которую мне удалось найти в разных источниках по этому поводу. На мой взгляд, ни один из перечисленных способов нельзя считать наиболее удобным или универсальным, так как каждый из способов может применяться в определённых ограниченных сценариях и имеет, как преимущества, так и недостатки по сравнению с другими способами.

Дополнительные источники информации:

  • TechNet Forums  — RDP Message: You must change your password before logging on the first time. Please update your password or contact …
  • Freek Berson — Password change option also available in RD Web Access on Windows Server 2008 R2
  • TechNet Wiki — Windows Server 2012 RDS: Enabling the RD WebAccess Expired password reset option

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Final fantasy xv windows edition дата выхода
  • Как изменить тему на компьютере windows 7
  • Черные квадраты на иконках windows 7
  • Как поставить драйвер устаревшей видеокарты на windows 10
  • Как повысить яркость экрана на компьютере windows 10