Felsöka Azure VM RDP-anslutningsfel efter händelse-ID
Gäller för: ✔️ Virtuella Windows-datorer
Den här artikeln beskriver hur du använder händelse-ID:n för att felsöka problem som förhindrar en RDP-anslutning (Remote Desktop Protocol) till en virtuell Azure-dator (VM).
Symptom
Du försöker använda en RDP-session (Remote Desktop Protocol) för att ansluta till en virtuell Azure-dator. När du har angett dina autentiseringsuppgifter misslyckas anslutningen och du får följande felmeddelande:
Den här datorn kan inte ansluta till fjärrdatorn. Försök att ansluta igen. Om problemet kvarstår kontaktar du fjärrdatorns ägare eller nätverksadministratören.
Om du vill felsöka det här problemet granskar du händelseloggarna på den virtuella datorn och läser sedan följande scenarier.
Innan du felsöker
Skapa en ögonblicksbild av säkerhetskopian
Om du vill skapa en ögonblicksbild av säkerhetskopian följer du stegen i Ögonblicksbild av en disk.
Ansluta till den virtuella datorn via fjärranslutning
Om du vill ansluta till den virtuella datorn via en fjärranslutning använder du någon av metoderna i Så här använder du fjärrverktyg för att felsöka problem med virtuella Azure-datorer.
Scenario 1
Händelseloggar
I en CMD-instans kör du följande kommandon för att kontrollera om händelse 1058 eller händelse 1057 loggas i systemloggen under de senaste 24 timmarna:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-TerminalServices-RemoteConnectionManager'] and EventID=1058 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Microsoft-Windows-TerminalServices-RemoteConnectionManager'] and EventID=1057 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1058
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte ersätta det förfallna självsignerade certifikatet som används för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Relevant statuskod var Åtkomst nekas.
Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1058
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte skapa ett nytt självsignerat certifikat som ska användas för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Relevant statuskod var objekt finns redan.
Loggnamn: System
Källa: Microsoft-Windows-TerminalServices-RemoteConnectionManager
Datum: tid
Händelse-ID: 1057
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord: Klassisk
Användare: N/A
Dator: dator
Beskrivning: Värdservern för fjärrskrivbordssessionen kunde inte skapa ett nytt självsignerat certifikat som ska användas för värdserverautentisering för fjärrskrivbordssession på TLS-anslutningar. Den relevanta statuskoden var Keyset finns inte
Du kan också söka efter SCHANNEL-felhändelserna 36872 och 36870 genom att köra följande kommandon:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36870 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36872 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Loggnamn: System
Källa: Schannel
Datum: —
Händelse-ID: 36870
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: dator
Beskrivning: Ett allvarligt fel uppstod vid försök att komma åt den privata nyckeln för TLS-serverns autentiseringsuppgifter. Felkoden som returnerades från krypteringsmodulen är 0x8009030d.
Det interna feltillståndet är 10001.
Orsak
Det här problemet beror på att det inte går att komma åt de lokala RSA-krypteringsnycklarna i mappen MachineKeys på den virtuella datorn. Det här problemet kan inträffa av någon av följande orsaker:
Fel behörighetskonfiguration i mappen Machinekeys eller RSA-filerna.
Skadad eller saknad RSA-nyckel.
Åtgärd
Om du vill felsöka det här problemet måste du konfigurera rätt behörigheter för RDP-certifikatet med hjälp av de här stegen.
Bevilja behörighet till mappen MachineKeys
Skapa ett skript med hjälp av följande innehåll:
remove-module psreadline icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\BeforeScript_permissions.txt takeown /f "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys" /a /r icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\System:(F)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "NT AUTHORITY\NETWORK SERVICE:(R)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c /grant "BUILTIN\Administrators:(F)" icacls C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys /t /c > c:\temp\AfterScript_permissions.txt Restart-Service TermService -Force
Kör det här skriptet för att återställa behörigheterna för mappen MachineKey och återställa RSA-filerna till standardvärdena.
Försök att komma åt den virtuella datorn igen.
När du har kört skriptet kan du kontrollera följande filer som har problem med behörigheter:
- c:\temp\BeforeScript_permissions.txt
- c:\temp\AfterScript_permissions.txt
Förnya självsignerat RDP-certifikat
Om problemet kvarstår kör du följande skript för att kontrollera att det självsignerade RDP-certifikatet förnyas:
Import-Module PKI
Set-Location Cert:\LocalMachine
$RdpCertThumbprint = 'Cert:\LocalMachine\Remote Desktop\'+((Get-ChildItem -Path 'Cert:\LocalMachine\Remote Desktop\').thumbprint)
Remove-Item -Path $RdpCertThumbprint
Stop-Service -Name "SessionEnv"
Start-Service -Name "SessionEnv"
Om du inte kan förnya certifikatet följer du dessa steg för att försöka ta bort certifikatet:
På en annan virtuell dator i samma virtuella nätverk öppnar du rutan Kör , skriver mmc och trycker sedan på OK.
På Arkiv-menyn väljer du snapin-modulen Lägg till/Ta bort.
I listan Tillgängliga snapin-moduler väljer du Certifikat och sedan Lägg till.
Välj Datorkonto och sedan Nästa.
Välj En annan dator och lägg sedan till IP-adressen för den virtuella dator som har problem.
Kommentar
Försök att använda det interna nätverket för att undvika att använda en virtuell IP-adress.
Välj Avsluta, och välj OK.
Expandera certifikaten, gå till mappen Fjärrskrivbord\Certifikat, högerklicka på certifikatet och välj sedan Ta bort.
Starta om konfigurationstjänsten för fjärrskrivbord:
net stop SessionEnv net start SessionEnv
Kommentar
Om du nu uppdaterar arkivet från mmc visas certifikatet igen.
Försök att komma åt den virtuella datorn med hjälp av RDP igen.
Uppdatera TLS/SSL-certifikat
Om du konfigurerar den virtuella datorn att använda ett TLS/SSL-certifikat kör du följande kommando för att hämta tumavtrycket. Kontrollera sedan om det är samma som certifikatets tumavtryck:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash
Om det inte är det ändrar du tumavtrycket:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash /t REG_BINARY /d <CERTIFICATE THUMBPRINT>
Du kan också försöka ta bort nyckeln så att RDP använder det självsignerade certifikatet för RDP:
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SSLCertificateSHA1Hash
Scenario 2
Händelseloggen
I en CMD-instans kör du följande kommandon för att kontrollera om SCHANNEL-felhändelsen 36871 loggas i systemloggen under de senaste 24 timmarna:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name='Schannel'] and EventID=36871 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Loggnamn: System
Källa: Schannel
Datum: —
Händelse-ID: 36871
Aktivitetskategori: Ingen
Nivå: Fel
Nyckelord:
Användare: SYSTEM
Dator: dator
Beskrivning: Ett allvarligt fel uppstod när en TLS-server för autentiseringsuppgifter skapades. Det interna feltillståndet är 10013.
Orsak
Det här problemet orsakas av säkerhetsprinciper. När äldre versioner av TLS (till exempel 1.0) inaktiveras misslyckas RDP-åtkomsten.
Åtgärd
RDP använder TLS 1.0 som standardprotokoll. Protokollet kan dock ändras till TLS 1.1, vilket är den nya standarden.
Information om hur du felsöker det här problemet finns i Felsöka autentiseringsfel när du använder RDP för att ansluta till en virtuell Azure-dator.
Scenario 3
Om du har installerat rollen Anslutningsutjämning för fjärrskrivbord på den virtuella datorn kontrollerar du om det finns händelse 2056 eller händelse 1296 under de senaste 24 timmarna. Kör följande kommandon i en CMD-instans:
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name=' Microsoft-Windows-TerminalServices-SessionBroker '] and EventID=2056 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
wevtutil qe system /c:1 /f:text /q:"Event[System[Provider[@Name=' Microsoft-Windows-TerminalServices-SessionBroker-Client '] and EventID=1296 and TimeCreated[timediff(@SystemTime) <= 86400000]]]" | more
Loggnamn: Microsoft-Windows-TerminalServices-SessionBroker/Operational
Källa: Microsoft-Windows-TerminalServices-SessionBroker
Datum: tid
Händelse-ID: 2056
Aktivitetskategori: (109)
Nivå: Fel
Nyckelord:
Användare: NÄTVERKSTJÄNST
Dator: dator fqdn
Beskrivning: Det går inte att hitta beskrivningen för händelse-ID 2056 från källan Microsoft-Windows-TerminalServices-SessionBroker. Antingen är komponenten som genererar den här händelsen inte installerad på den lokala datorn eller så är installationen skadad. Du kan installera eller reparera komponenten på den lokala datorn.
Om händelsen har sitt ursprung på en annan dator måste visningsinformationen sparas med händelsen.
Följande information ingick i händelsen:
NOLL
NOLL
Inloggningen till databasen misslyckades.
Loggnamn: Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational
Källa: Microsoft-Windows-TerminalServices-SessionBroker-Client
Datum: tid
Händelse-ID: 1296
Aktivitetskategori: (104)
Nivå: Fel
Nyckelord:
Användare: NÄTVERKSTJÄNST
Dator: dator fqdn
Beskrivning: Det går inte att hitta beskrivningen för händelse-ID 1296 från källan Microsoft-Windows-TerminalServices-SessionBroker-Client. Antingen är komponenten som genererar den här händelsen inte installerad på den lokala datorn eller så är installationen skadad. Du kan installera eller reparera komponenten på den lokala datorn.
Om händelsen har sitt ursprung på en annan dator måste visningsinformationen sparas med händelsen.
Följande information ingick i händelsen:
text
text
Anslutningsutjämning för fjärrskrivbord är inte redo för RPC-kommunikation.
Orsak
Det här problemet beror på att värdnamnet för servern för anslutningsutjämning för fjärrskrivbord har ändrats, vilket inte är en ändring som stöds.
Värdnamnet har poster och beroenden på Intern Windows-databas, vilket krävs av fjärrskrivbordstjänstgruppen för att kunna fungera. Att ändra värdnamnet när servergruppen redan har skapats orsakar många fel och kan leda till att koordinatorservern slutar fungera.
Åtgärd
För att åtgärda det här problemet måste rollen Anslutningsutjämning för fjärrskrivbord och Intern Windows-databas installeras om.
Nästa steg
Teknisk översikt över Schannel SSP
Schannel 36872 eller Schannel 36870 på en domänkontrollant
Händelse-ID 1058 – Autentisering och kryptering för fjärrskrivbordstjänster
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.