Зіткнувся з дивною сполученням “Произошла внутренняя ошибка
/ An internal error has occurred
“При RDP підключенні до недавно розгорнутому сервера RDSH на Windows Server 2012 R2 з Windows 10. Буквально вчора RDP підключення до сервера працювало нормально, але після установки і настройки RemotApp додатків і перезавантаження сервера, я не можу віддалено підключитися до його робочого столу. Служба Remote Desktop Services судячи з усього працює, так як пароль користувача при підключенні запитується.
Як я зрозумів, повідомлення RDP консолі “внутрішня помилка” може з’являтися в різних випадках і мати абсолютно різні причини, пов’язані як з сервером Remote Desktop, так і з клієнтом. У цій статті я постарався зібрати всі варіанти рішення і сценарій, який допоміг мені.
Вивчивши логи 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
Але проблему це не вирішило.
Які ще варіанти вирішення проблеми мені вдалося знайти в мережі:
- Якщо у вас на віддаленому сервері встановлений КріптоПро, він може бути джерелом проблем з rdp підключенням. Спробуйте відключити перевірку контрольних цілісності файлів (перевірки контрольних сум) в КріптоПро через реєстр. Перейдіть в гілку реєстру
HKLMSYSTEMCurrentControlSetControlSession ManagerCProIntegrity
і змініть значення параметра CheckMode на 0. Перезавантажте сервер. - Якщо в журналі подій TerminalServices-RemoteConnectionManager ви зустрінете подія з EventID 1057 (Сервер RD Session Host не зміг створити новий самопідписаний сертифікат, який використовуватиметься для автентифікації RD Session Host Server на з’єднаннях SSL), Перейдіть в каталог
C:ProgramDataMicrosoftCryptoRSA
, Перейменуйте папку Машинні клавіші в Machinekeys_bak і перезапустіть службу TermService. - Також знайшов інформацію, що RDP проблема “внутрішня помилка” зустрічалася в Windows 10 1809 якщо на віддаленому комп’ютері включена політика Налаштуйте апаратне кодування H.264 / AVC для підключень до віддаленого робочого столу (знаходиться в секції GPO: Конфігурація комп’ютера -> Адміністративні шаблони -> Компоненти Windows -> Служби віддаленого робочого столу -> Хост сеансу віддаленого робочого столу -> Середовище віддаленого сеансу). Для вирішення цієї проблеми досить відключити UDP протокол для RDP, створивши в гілці реєстру
HKLMSOFTWAREPoliciesMicrosoftWindows NTTerminal ServicesClient
параметрfClientDisableUDP
зі значенням 1.
Жоден з розглянутих вище сценаріїв ні застосуємо в моєму випадку. Я абсолютно випадково виявив, що з інших комп’ютерів немає проблем з підключенням до цього RDS сервера. Значить проблема тільки з моїм комп’ютером, а не з сервером.
Я очистив історію RDP підключень в гілці HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers
і скинув кеш RDP в каталозі C:Users%Username%AppDataLocalMicrosoftTerminal Server ClientCache
(Перед видаленням закрийте всі запущені сеанси mstsc.exe):
del "C:Users%Username%AppDataLocalMicrosoftTerminal Server Clientcache"
Після цього перезавантажив свій комп’ютер, і помилка RDP підключення зникла!