Столкнулся со странным сообщением “
Произошла внутренняя ошибка
/
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 подключением. Попробуйте отключить проверку контрольных целостности файлов (проверки контрольных сумм) в КриптоПро через реестр. Перейдите в ветку реестра
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\CProIntegrity
и измените значение параметра CheckMode на 0. Перезагрузите сервер. - Если в журнале событий 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. - Также нашел информацию, что 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. - В комментариях Ivan оставил очень полезный фикс.
Проблема с ошибкой RDP может быть в наличии некоего счетчика учитывающего максимальное количество подключений в Windows.
В десктопных версиях Windows — 100, в Windows Server -3000. Для сброса счетчика достаточно перезагрузить компьютер, или просто увеличить лимит через реестр:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v MaxOutstandingConnections /t REG_DWORD /d 65536
Ни один из рассмотренных выше сценариев не был применим в моем случае. Я совершенно случайно обнаружил, что с других компьютеров нет проблем с подключением к этому 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 подключения исчезла!