Внутрішня помилка при RDP підключенні

Зіткнувся з дивною сполученням "Внутрішня помилка/ An internal error has occurred"При RDP підключенні до недавно розгорнутому сервера RDSH на Windows Server 2012 R2 з Windows 10. Буквально вчора RDP підключення до сервера працювало нормально, але після установки і настройки RemotApp додатків і перезавантаження сервера, я не можу віддалено підключитися до його робочого столу. Служба Remote Desktop Services судячи з усього працює, так як пароль користувача при підключенні запитується.

Як я зрозумів, повідомлення RDP консолі "внутрішня помилка" може з'являтися в різних випадках і мати абсолютно різні причини, пов'язані як з сервером Remote Desktop, так і з клієнтом. У цій статті я постарався зібрати всі варіанти рішення і сценарій, який допоміг мені.

В першу чергу, переконайтеся, що на RDS сервері доступний RDP порт 3389, і підключення не блокується файерволом (Test-NetConnection rdsserver -port 3389).

Вивчивши логи RDP підключень на віддаленому RDS сервері, я не побачив ніяких особливих помилок. У журналі Microsoft-Windows-RemoteDesktopServices-RdpCoreTS / Operational видно, що RDP сесія створюється:

The server accepted a new TCP connection from client 10.10.1.60:64379.
Connection RDP-Tcp # 3 created

Але потім без будь-якої помилки RDP сеанс завершується:

The server has terminated main RDP connection with the client.
The disconnect reason is 0

Перевірте стан службу Remote Desktop Services на віддаленому сервері і перезапустіть її. Ви можете віддалено перезапустити службу через консоль Services.msc (Connect to another computer), але набагато простіше перевірити стан служби та перезапустити її через PowerShell:

(Get-Service TermService -ComputerName msk-ts1) .status

Служба запущено (Running), перезапустити її:

Get-Service TermService -ComputerName msk-ts1 | Restart-Service -force -verbose

Але проблему це не вирішило.

Які ще варіанти вирішення проблеми мені вдалося знайти в мережі:

  1. Якщо у вас на віддаленому сервері встановлений КріптоПро, він може бути джерелом проблем з rdp підключенням. Спробуйте відключити перевірку контрольних цілісності файлів (перевірки контрольних сум) в КріптоПро через реєстр. Перейдіть в гілку реєстру HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ CProIntegrity і змініть значення параметра CheckMode на 0. перезавантажте сервер.
  2. Якщо в журналі подій TerminalServices-RemoteConnectionManager ви зустрінете подія з EventID 1057 (The RD Session Host Server has failed to create a new self signed certificate to be used for RD Session Host Server authentication on SSL connections), Перейдіть в каталог C: \ ProgramData \ Microsoft \ Crypto \ RSA, перейменуйте папку Machinekeys в Machinekeys_bak і перезапустіть службу TermService.
  3. Також знайшов інформацію, що RDP проблема "внутрішня помилка" зустрічалася в Windows 10 1809 якщо на віддаленому комп'ютері включена політика Configure H.264 / AVC hardware encoding for Remote Desktop connections (Знаходиться в секції GPO: Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment). Для вирішення цієї проблеми досить відключити UDP протокол для RDP, створивши в гілці реєстру HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services \ Client параметр fClientDisableUDP зі значенням 1.

Жоден з розглянутих вище сценаріїв ні застосуємо в моєму випадку. Я абсолютно випадково виявив, що з інших комп'ютерів немає проблем з підключенням до цього RDS сервера. Значить проблема тільки з моїм комп'ютером, а не з сервером.

Я очистив історію RDP підключень в гілці HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Servers і скинув кеш RDP в каталозі C: \ Users \% Username% \ AppData \ Local \ Microsoft \ Terminal Server Client \ Cache (Перед видаленням закрийте всі запущені сеанси mstsc.exe):

del "C: \ Users \% Username% \ AppData \ Local \ Microsoft \ Terminal Server Client \ cache"

Після цього перезавантажив свій комп'ютер, і помилка RDP підключення зникла!