Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Virtuella Windows-datorer
Den här artikeln innehåller en referens för att felsöka en situation där du misstänker att gästoperativsystemets brandvägg filtrerar partiell trafik på en virtuell dator (VM). Detta kan vara användbart av följande skäl:
Om en ändring avsiktligt har gjorts i brandväggen som gjorde att RDP-anslutningar misslyckades kan du lösa problemet med hjälp av funktionen För anpassat skripttillägg.
Att inaktivera alla brandväggsprofiler är ett mer idiotsäkert sätt att felsöka än att ange den RDP-specifika brandväggsregeln.
Lösning
Hur du konfigurerar brandväggsreglerna beror på vilken åtkomstnivå som krävs till den virtuella datorn. I följande exempel används RDP-regler. Samma metoder kan dock tillämpas på alla andra typer av trafik genom att peka på rätt registernyckel.
Felsökning online
Åtgärd 1: Tillägg för anpassat skript
Skapa skriptet med hjälp av följande mall.
Så här aktiverar du en regel:
netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
Så här inaktiverar du en regel:
netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
Ladda upp det här skriptet i Azure Portal med hjälp av funktionen För anpassat skripttillägg.
Åtgärd 2: Fjärr-PowerShell
Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du göra följande åtgärder med hjälp av den andra virtuella datorn.
Öppna ett PowerShell-konsolfönster på den virtuella felsökningsdatorn.
Kör följande kommandon efter behov.
Så här aktiverar du en regel:
Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) Enable-NetFirewallRule -DisplayName "RemoteDesktop-UserMode-In-TCP" exit
Så här inaktiverar du en regel:
Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) Disable-NetFirewallRule -DisplayName "RemoteDesktop-UserMode-In-TCP" exit
Åtgärd 3: PSTools-kommandon
Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du göra följande åtgärder med hjälp av den andra virtuella datorn.
Ladda ned PSTools på den virtuella felsökningsdatorn.
Öppna en CMD-instans och få åtkomst till den virtuella datorn via dess interna IP-adress (DIP).
Så här aktiverar du en regel:
psexec \\<DIP> -u <username> cmd netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
Så här inaktiverar du en regel:
psexec \\<DIP> -u <username> cmd netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
Åtgärd 4: Fjärrregister
Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du använda Fjärrregister på den andra virtuella datorn.
Starta Registereditorn (regedit.exe) på den virtuella felsökningsdatorn och välj sedan File>Connect Network Registry.
Öppna grenen TARGET MACHINE\SYSTEM och ange sedan följande värden:
Om du vill aktivera en regel öppnar du följande registervärde:
TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Ändra sedan Active=FALSE till Active=TRUE i strängen:
v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|
Om du vill inaktivera en regel öppnar du följande registervärde:
TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Ändra sedan Active =TRUE till Active=FALSE:
v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|
Starta om den virtuella datorn för att tillämpa ändringarna.
Felsökning offline
Om du inte kan komma åt den virtuella datorn med någon metod misslyckas användning av tillägget för anpassat skript och du måste arbeta i OFFLINE-läge genom att arbeta direkt via systemdisken.
Innan du följer de här stegen bör du ta en ögonblicksbild av systemdisken för den berörda virtuella datorn som en säkerhetskopia. Mer information finns i Ögonblicksbild av en disk.
Starta en fjärrskrivbordsanslutning till den virtuella återställningsdatorn.
Kontrollera att disken har flaggats som Online i diskhanteringskonsolen. Observera att enhetsbeteckningen som är tilldelad till den anslutna systemdisken.
Innan du gör några ändringar skapar du en kopia av mappen \windows\system32\config om det behövs en återställning av ändringarna.
Starta Registereditorn (regedit.exe) på den virtuella felsökningsdatorn.
Markera HKEY_LOCAL_MACHINE och välj sedan Filinläsningsdatafil> på menyn.
Leta upp och öppna sedan filen \windows\system32\config\SYSTEM.
Kommentar
Du uppmanas att ange ett namn. Ange BROKENSYSTEM och expandera sedan HKEY_LOCAL_MACHINE. Nu visas ytterligare en nyckel med namnet BROKENSYSTEM. För den här felsökningen monterar vi dessa problemdatafiler som BROKENSYSTEM.
Gör följande ändringar i BROKENSYSTEM-grenen:
Kontrollera vilken ControlSet-registernyckel den virtuella datorn börjar från. Du ser dess nyckelnummer i HKLM\BROKENSYSTEM\Select\Current.
Om du vill aktivera en regel öppnar du följande registervärde:
HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Ändra sedan Active=FALSE till Active=True.
v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|
Om du vill inaktivera en regel öppnar du följande registernyckel:
HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Ändra sedan Active=True till Active=FALSE.
v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|
Markera BROKENSYSTEM och välj sedan Arkiv>Ta bort Hive på menyn.
Koppla från systemdisken och skapa den virtuella datorn igen.
Kontrollera om problemet är löst.
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.