W obliczu dziwnej wiadomości „Wystąpił błąd wewnętrzny
/ Wystąpił błąd wewnętrzny
„Kiedy RDP jest podłączony do niedawno wdrożonego serwera RDSH w systemie Windows Server 2012 R2 z Windows 10. Jeszcze wczoraj połączenie RDP z serwerem działało dobrze, ale po zainstalowaniu i skonfigurowaniu aplikacji RemotApp i ponownym uruchomieniu serwera nie mogę zdalnie połączyć się z jego pulpitem. Wygląda na to, że Usługi pulpitu zdalnego działają, ponieważ podczas łączenia wymagane jest hasło użytkownika.
Jak rozumiem, komunikat konsoli RDP „Wystąpił błąd wewnętrzny” może pojawić się w różnych przypadkach i mieć zupełnie inne przyczyny związane zarówno z serwerem pulpitu zdalnego, jak i klientem. W tym artykule próbowałem zebrać wszystkie rozwiązania i scenariusz, który mi pomógł.
Przede wszystkim upewnij się, że port RDP 3389 jest dostępny na serwerze RDS i że połączenie nie jest blokowane przez zaporę (Test-NetConnection rdsserver -port 3389).Po przestudiowaniu dzienników połączeń RDP na zdalnym serwerze RDS nie zauważyłem żadnych konkretnych błędów. Dziennik Microsoft-Windows-RemoteDesktopServices-RdpCoreTS / Operational pokazuje, że tworzona jest sesja RDP:
Serwer zaakceptował nowe połączenie TCP od klienta 10.10.1.60:64379.
Utworzono połączenie RDP-Tcp # 3
Ale potem, bez żadnego błędu RDP, sesja kończy się:
Serwer zakończył główne połączenie RDP z klientem.
Przyczyną rozłączenia jest 0
Sprawdź status usług pulpitu zdalnego na serwerze zdalnym i zrestartuj go. Możesz zdalnie zrestartować usługę za pomocą konsoli Services.msc (Połącz z innym komputerem), ale o wiele łatwiej jest sprawdzić status usługi i zrestartować ją za pomocą PowerShell:
(Get-Service TermService -ComputerName msk-ts1) .status
Usługa jest uruchomiona (uruchomiona), uruchom ją ponownie:
Get-Service TermService -ComputerName msk-ts1 | Restart-Service -force -verbose
Ale to nie rozwiązało problemu.
Jakie inne rozwiązania problemu udało mi się znaleźć w sieci:
- Jeśli CryptoPRO jest zainstalowany na zdalnym serwerze, może być źródłem problemów z połączeniem rdp. Spróbuj wyłączyć weryfikację kontroli integralności plików (kontrole sum kontrolnych) w CryptoPro przez rejestr. Przejdź do oddziału rejestru
HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ CProIntegrity
i zmień wartość parametru Tryb kontrolny na 0. Uruchom ponownie serwer. - Jeśli w dzienniku zdarzeń TerminalServices-RemoteConnectionManager napotkasz zdarzenie o identyfikatorze zdarzenia 1057 (Serwer hosta sesji usług pulpitu zdalnego nie utworzył nowego certyfikatu z podpisem własnym, który będzie używany do uwierzytelniania serwera sesji usług pulpitu zdalnego w połączeniach SSL), przejdź do katalogu
C: \ ProgramData \ Microsoft \ Crypto \ RSA
, zmień nazwę folderu Machinekeys w Machinekeys_bak i ponownie uruchom usługę TermService. - Znalazłem również informację, że problem RDP „Wystąpił błąd wewnętrzny” wystąpił w systemie Windows 10 1809, jeśli zasady są włączone na komputerze zdalnym Skonfiguruj kodowanie sprzętowe H.264 / AVC dla połączeń pulpitu zdalnego (znajduje się w sekcji GPO: Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Usługi pulpitu zdalnego -> Host sesji pulpitu zdalnego -> Środowisko sesji zdalnej). Aby rozwiązać ten problem, wystarczy wyłączyć protokół UDP dla RDP, tworząc w gałęzi rejestru
HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows NT \ Terminal Services \ Client
parametrfClientDisableUDP
z wartością 1.
Żaden z powyższych scenariuszy nie miał zastosowania w moim przypadku. Przypadkowo odkryłem, że z innych komputerów nie ma problemu z połączeniem z tym serwerem RDS. Oznacza to, że problem dotyczy tylko mojego komputera, a nie serwera.
Wyczyściłem historię połączeń RDP w oddziale HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Servers
i opróżniłem pamięć podręczną RDP w katalogu C: \ Users \% Nazwa użytkownika% \ AppData \ Local \ Microsoft \ Terminal Server Client \ Cache
(przed odinstalowaniem zamknij wszystkie uruchomione sesje mstsc.exe):
del "C: \ Users \% Nazwa użytkownika% \ AppData \ Local \ Microsoft \ Terminal Server Client \ cache"
Następnie ponownie uruchomiłem komputer i błąd połączenia RDP zniknął!