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

Вчера я столкнулся с такой ошибкой при подключению к серверу windows 2022 после обновления. В статье я опишу шаги по восстановлению доступа к серверу по RDP.

Эта ошибка «Произошла внутренняя ошибка» при попытке подключения к удаленному рабочему столу (RDP) является довольно распространенной и обычно указывает на проблемы с безопасностью, состоянием сеанса или сетевыми настройками.

План А: Обходной маневр (Смена уровня безопасности)

Мы можем принудительно запретить RDP использовать проблемные TLS-сертификаты и заставить его работать на устаревшем, но надежном «родном» шифровании RDP. Это почти всегда мгновенно решает проблему доступа.

  1. Нажмите Win + R, введите gpedit.msc и нажмите Enter (откроется Редактор локальной групповой политики).
  2. Перейдите по пути: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Безопасность.
  3. Найдите политику «Требовать использования специального уровня безопасности для удаленных подключений по методу RDP».
  4. Откройте её, выберите Включено.
  5. В параметрах ниже, в выпадающем списке «Уровень безопасности» выберите RDP (вместо SSL или Согласование).
  6. Нажмите ОК.
  7. Откройте командную строку от имени администратора и введите gpupdate /force, затем перезапустите службу Службы удаленных рабочих столов (или перезагрузите ПК).

Попробуйте подключиться. Если пустит — проблема решена на рабочем уровне.

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

Необходимо вернуть настройки в первоначальное состояние до наших изменений.

ШАГ 1 Зачистка реестра

откройте regedit.

  1. Перейдите в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM
  2. Удалите все параметры со словом Certificate ( Certificate, X509 Certificate и т.д.), оставив только (По умолчанию).

Далее нам необходимо выполнить ряд команд.

Строка 1 (Создаем сертификат):

$cert = New-SelfSignedCertificate -DnsName $env:COMPUTERNAME -CertStoreLocation "cert:\LocalMachine\My"

Строка 2 (Находим настройки RDP):

$wmi = Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"

Строка 3 (Привязываем сертификат к RDP):

Set-WmiInstance -Path $wmi.__path -argument @{SSLCertificateSHA1Hash="$($cert.Thumbprint)"}

Строка 4 (Проверяем отпечаток):

Write-Host "Сертификат создан и привязан. Отпечаток: $($cert.Thumbprint)" -ForegroundColor Green

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

Шаг 2: Выдача прав NETWORK SERVICE на новый сертификат

Хотя мы создали сертификат, службе RDP все еще нужны права на его чтение. Если этого не сделать, ошибка повторится.

  1. Нажмите Win + R, введите certlm.msc и нажмите Enter.
  2. Перейдите в Личное (Personal) -> Сертификаты (Certificates).
  3. Найдите только что созданный сертификат (он будет называться именем вашего компьютера, дата выдачи — сегодняшний день).
  4. Нажмите на него правой кнопкой мыши -> Все задачи -> Управление закрытыми ключами (Manage Private Keys).
  5. Нажмите Добавить, введите NETWORK SERVICE (или СЕТЕВАЯ СЛУЖБА, если ОС русская), нажмите «Проверить имена» и ОК.
  6. Выделите добавленного пользователя и убедитесь, что внизу стоит галочка Чтение (Read). Полный доступ давать не обязательно.
  7. Нажмите ОК.

Шаг 3: Финальный перезапуск

В том же окне PowerShell (от администратора) выполните:

DOS

net stop TermService /y
net start TermService

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.