Szczegółowe kroki rozwiązywania problemów z połączeniem pulpitu zdalnego z maszynami wirtualnymi z systemem Windows na platformie Azure

Ten artykuł zawiera szczegółowe kroki rozwiązywania problemów dotyczące diagnozowania i naprawiania złożonych błędów pulpitu zdalnego dla maszyn wirtualnych platformy Azure z systemem Windows.

Ważna

Aby wyeliminować częstsze błędy pulpitu zdalnego, przed kontynuowaniem zapoznaj się z podstawowym artykułem dotyczącym rozwiązywania problemów z pulpitem zdalnym .

Może wystąpić komunikat o błędzie pulpitu zdalnego, który nie przypomina żadnego z określonych komunikatów o błędach opisanych w podstawowym przewodniku rozwiązywania problemów z pulpitem zdalnym. Wykonaj następujące kroki, aby ustalić, dlaczego klient pulpitu zdalnego (RDP) nie może nawiązać połączenia z usługą RDP na maszynie wirtualnej platformy Azure.

Składniki połączenia pulpitu zdalnego

Następujące składniki są zaangażowane w połączenie RDP:

Diagram przedstawia składniki związane z połączeniem pulpitu zdalnego (RDP).

Przed kontynuowaniem może to pomóc w mentalnym przejrzeniu tego, co zmieniło się od czasu ostatniego pomyślnego połączenia pulpitu zdalnego z maszyną wirtualną. Przykład:

  • Publiczny adres IP maszyny wirtualnej lub usługi w chmurze zawierającej maszynę wirtualną (nazywaną również wirtualnym adresem IP VIP) uległ zmianie. Niepowodzenie protokołu RDP może być spowodowane tym, że pamięć podręczna klienta DNS nadal ma stary adres IP zarejestrowany dla nazwy DNS. Opróżnij pamięć podręczną klienta DNS i spróbuj ponownie połączyć maszynę wirtualną. Możesz też spróbować nawiązać połączenie bezpośrednio z nowym adresem VIP.
  • Używasz aplikacji innej firmy do zarządzania połączeniami pulpitu zdalnego, a nie połączenia generowanego przez Azure Portal. Sprawdź, czy konfiguracja aplikacji zawiera poprawny port TCP dla ruchu pulpitu zdalnego. Możesz sprawdzić ten port dla klasycznej maszyny wirtualnej w Azure Portal, klikając punkty końcowe ustawień > maszyny wirtualnej.

Kroki wstępne

Przed przejściem do szczegółowego rozwiązywania problemów,

Spróbuj ponownie połączyć się z maszyną wirtualną za pośrednictwem pulpitu zdalnego po wykonaniu tych kroków.

Szczegółowe kroki rozwiązywania problemów

Klient pulpitu zdalnego może nie być w stanie nawiązać połączenia z usługą pulpitu zdalnego na maszynie wirtualnej platformy Azure z powodu problemów z następującymi źródłami:

Źródło 1: Komputer kliencki pulpitu zdalnego

Sprawdź, czy komputer może nawiązywać połączenia pulpitu zdalnego z innym lokalnym komputerem z systemem Windows.

Diagram składników w połączeniu RDP z wyróżnionym klientem RDP i strzałką wskazującą inny komputer lokalny wskazujący połączenie.

Jeśli nie możesz, sprawdź następujące ustawienia na komputerze:

  • Lokalne ustawienie zapory, które blokuje ruch pulpitu zdalnego.
  • Lokalnie zainstalowane oprogramowanie serwera proxy klienta, które uniemożliwia połączenia pulpitu zdalnego.
  • Lokalnie zainstalowane oprogramowanie do monitorowania sieci, które uniemożliwia połączenia pulpitu zdalnego.
  • Inne typy oprogramowania zabezpieczającego, które monitorują ruch lub zezwalają/nie zezwalają na określone typy ruchu, które uniemożliwiają połączenia pulpitu zdalnego.

We wszystkich tych przypadkach tymczasowo wyłącz oprogramowanie i spróbuj nawiązać połączenie z komputerem lokalnym za pośrednictwem pulpitu zdalnego. Jeśli w ten sposób możesz dowiedzieć się, jaka jest rzeczywista przyczyna, skontaktuj się z administratorem sieci, aby poprawić ustawienia oprogramowania, aby zezwolić na połączenia pulpitu zdalnego.

Źródło 2: Urządzenie brzegowe intranetu organizacji

Sprawdź, czy komputer bezpośrednio połączony z Internetem może nawiązywać połączenia pulpitu zdalnego z maszyną wirtualną platformy Azure.

Diagram składników w połączeniu RDP z klientem RDP połączonym z Internetem wyróżnionym i strzałką wskazującą maszynę wirtualną platformy Azure wskazującą połączenie.

Jeśli nie masz komputera, który jest bezpośrednio połączony z Internetem, utwórz i przetestuj ją przy użyciu nowej maszyny wirtualnej platformy Azure w grupie zasobów lub usłudze w chmurze. Aby uzyskać więcej informacji, zobacz Tworzenie maszyny wirtualnej z systemem Windows na platformie Azure. Po zakończeniu testu możesz usunąć maszynę wirtualną i grupę zasobów lub usługę w chmurze.

Jeśli możesz utworzyć połączenie pulpitu zdalnego z komputerem bezpośrednio podłączonym do Internetu, sprawdź urządzenie brzegowe intranetu organizacji pod kątem:

  • Wewnętrzna zapora blokująca połączenia HTTPS z Internetem.
  • Serwer proxy uniemożliwia połączenia pulpitu zdalnego.
  • Wykrywanie włamań lub oprogramowanie do monitorowania sieci działające na urządzeniach w sieci brzegowej, które uniemożliwia połączenia pulpitu zdalnego.

Skontaktuj się z administratorem sieci, aby poprawić ustawienia urządzenia brzegowego intranetu organizacji, aby zezwolić na połączenia pulpitu zdalnego oparte na protokole HTTPS z Internetem.

Źródło 3. Punkt końcowy usługi w chmurze i lista ACL

Ważna

Klasyczne maszyny wirtualne zostaną wycofane 1 września 2023 r.

Jeśli używasz zasobów IaaS z usługi ASM, zakończ migrację do 1 września 2023 r. Zachęcamy do dokonania zmiany wcześniej, aby skorzystać z wielu ulepszeń funkcji w usłudze Azure Resource Manager.

Aby uzyskać więcej informacji, zobacz Migrowanie zasobów IaaS do usługi Azure Resource Manager do 1 września 2023 r.

W przypadku maszyn wirtualnych utworzonych przy użyciu klasycznego modelu wdrażania sprawdź, czy inna maszyna wirtualna platformy Azure, która znajduje się w tej samej usłudze w chmurze lub sieci wirtualnej, może nawiązywać połączenia pulpitu zdalnego z maszyną wirtualną platformy Azure.

Diagram składników w połączeniu RDP z wyróżnioną jedną maszyną wirtualną platformy Azure i strzałką wskazującą inną maszynę wirtualną platformy Azure w ramach tej samej usługi w chmurze wskazującą połączenie.

Uwaga

W przypadku maszyn wirtualnych utworzonych w Resource Manager przejdź do pozycji Źródło 4: sieciowe grupy zabezpieczeń.

Jeśli nie masz innej maszyny wirtualnej w tej samej usłudze w chmurze lub sieci wirtualnej, utwórz tę maszynę. Wykonaj kroki opisane w temacie Tworzenie maszyny wirtualnej z systemem Windows na platformie Azure. Usuń test maszynę wirtualną po zakończeniu testu.

Jeśli możesz nawiązać połączenie za pośrednictwem pulpitu zdalnego z maszyną wirtualną w tej samej usłudze w chmurze lub sieci wirtualnej, sprawdź następujące ustawienia:

  • Konfiguracja punktu końcowego dla ruchu pulpitu zdalnego na docelowej maszynie wirtualnej: prywatny port TCP punktu końcowego musi być zgodny z portem TCP, na którym nasłuchuje usługa pulpitu zdalnego maszyny wirtualnej (wartość domyślna to 3389).
  • Lista ACL dla punktu końcowego ruchu pulpitu zdalnego na docelowej maszynie wirtualnej: listy ACL umożliwiają określenie dozwolonego lub niedozwolonego ruchu przychodzącego z Internetu na podstawie jego źródłowego adresu IP. Błędnie skonfigurowane listy ACL mogą uniemożliwiać przychodzący ruch pulpitu zdalnego do punktu końcowego. Sprawdź listy ACL, aby upewnić się, że ruch przychodzący z publicznych adresów IP serwera proxy lub innego serwera brzegowego jest dozwolony. Aby uzyskać więcej informacji, zobacz Co to jest lista Access Control sieci (ACL)?

Aby sprawdzić, czy punkt końcowy jest źródłem problemu, usuń bieżący punkt końcowy i utwórz nowy, wybierając losowy port w zakresie 49152–65535 dla numeru portu zewnętrznego. Aby uzyskać więcej informacji, zobacz How to set up endpoints to a virtual machine (Jak skonfigurować punkty końcowe na maszynie wirtualnej).

Źródło 4. Sieciowe grupy zabezpieczeń

Sieciowe grupy zabezpieczeń umożliwiają bardziej szczegółową kontrolę nad dozwolonym ruchem przychodzącym i wychodzącym. Reguły obejmujące podsieci i usługi w chmurze można tworzyć w sieci wirtualnej platformy Azure.

Użyj funkcji weryfikacji przepływu adresów IP , aby potwierdzić, czy reguła w sieciowej grupie zabezpieczeń blokuje ruch do lub z maszyny wirtualnej. Możesz również przejrzeć obowiązujące reguły grupy zabezpieczeń, aby upewnić się, że reguła ruchu przychodzącego sieciowej grupy zabezpieczeń "Zezwalaj" istnieje i ma priorytet dla portu RDP (domyślnie 3389). Aby uzyskać więcej informacji, zobacz Używanie obowiązujących reguł zabezpieczeń do rozwiązywania problemów z przepływem ruchu maszyn wirtualnych.

Źródło 5: Maszyna wirtualna platformy Azure z systemem Windows

Diagram składników w połączeniu RDP z maszyną wirtualną platformy Azure wyróżnioną w usłudze w chmurze oraz komunikat, że może to być możliwe źródło problemów.

Postępuj zgodnie z instrukcjami w tym artykule. W tym artykule zresetowano usługę pulpitu zdalnego na maszynie wirtualnej:

  • Włącz domyślną regułę zapory systemu Windows "Pulpit zdalny" (port TCP 3389).
  • Włącz połączenia pulpitu zdalnego, ustawiając wartość rejestru HKLM\System\CurrentControlSet\Control\Terminal Server\fDenyTSConnections na 0.

Spróbuj ponownie nawiązać połączenie z komputera. Jeśli nadal nie możesz nawiązać połączenia za pośrednictwem pulpitu zdalnego, sprawdź, czy występują następujące możliwe problemy:

  • Usługa pulpitu zdalnego nie jest uruchomiona na docelowej maszynie wirtualnej.
  • Usługa pulpitu zdalnego nie nasłuchuje na porcie TCP 3389.
  • Zapora systemu Windows lub inna zapora lokalna ma regułę ruchu wychodzącego, która uniemożliwia ruch pulpitu zdalnego.
  • Wykrywanie włamań lub oprogramowanie do monitorowania sieci działające na maszynie wirtualnej platformy Azure uniemożliwia nawiązywanie połączeń pulpitu zdalnego.

W przypadku maszyn wirtualnych utworzonych przy użyciu klasycznego modelu wdrażania można użyć zdalnej sesji Azure PowerShell do maszyny wirtualnej platformy Azure. Najpierw należy zainstalować certyfikat usługi w chmurze hostującej maszynę wirtualną. Przejdź do pozycji Konfigurowanie bezpiecznego zdalnego dostępu programu PowerShell do usługi Azure Virtual Machines i pobierz plik skryptu InstallWinRMCertAzureVM.ps1 na komputer lokalny.

Następnie zainstaluj Azure PowerShell, jeśli jeszcze tego nie zrobiono. Zobacz Jak zainstalować i skonfigurować Azure PowerShell.

Następnie otwórz wiersz polecenia Azure PowerShell i zmień bieżący folder na lokalizację pliku skryptu InstallWinRMCertAzureVM.ps1. Aby uruchomić skrypt Azure PowerShell, należy ustawić poprawne zasady wykonywania. Uruchom polecenie Get-ExecutionPolicy , aby określić bieżący poziom zasad. Aby uzyskać informacje na temat ustawiania odpowiedniego poziomu, zobacz Set-ExecutionPolicy.

Następnie podaj nazwę subskrypcji platformy Azure, nazwę usługi w chmurze i nazwę maszyny wirtualnej (usuwając < znaki i > ), a następnie uruchom te polecenia.

$subscr="<Name of your Azure subscription>"
$serviceName="<Name of the cloud service that contains the target virtual machine>"
$vmName="<Name of the target virtual machine>"
.\InstallWinRMCertAzureVM.ps1 -SubscriptionName $subscr -ServiceName $serviceName -Name $vmName

Prawidłową nazwę subskrypcji można uzyskać z właściwości SubscriptionName wyświetlanego polecenia Get-AzureSubscription . Nazwę usługi w chmurze dla maszyny wirtualnej można uzyskać z kolumny ServiceName na ekranie polecenia Get-AzureVM .

Sprawdź, czy masz nowy certyfikat. Otwórz przystawkę Certyfikaty dla bieżącego użytkownika i wyszukaj folder Zaufane główne urzędy certyfikacji\Certyfikaty . Certyfikat z nazwą DNS usługi w chmurze powinien zostać wyświetlony w kolumnie Wystawione do (na przykład: cloudservice4testing.cloudapp.net).

Następnie zainicjuj sesję zdalnego Azure PowerShell przy użyciu tych poleceń.

$uri = Get-AzureWinRMUri -ServiceName $serviceName -Name $vmName
$creds = Get-Credential
Enter-PSSession -ConnectionUri $uri -Credential $creds

Po wprowadzeniu prawidłowych poświadczeń administratora powinien zostać wyświetlony komunikat podobny do następującego Azure PowerShell monitu:

[cloudservice4testing.cloudapp.net]: PS C:\Users\User1\Documents>

Pierwsza część tego monitu to nazwa usługi w chmurze zawierająca docelową maszynę wirtualną, która może różnić się od "cloudservice4testing.cloudapp.net". Teraz możesz wydać polecenia Azure PowerShell dla tej usługi w chmurze, aby zbadać wymienione problemy i poprawić konfigurację.

Aby ręcznie poprawić port TCP nasłuchujący usług pulpitu zdalnego

W wierszu polecenia sesji Azure PowerShell zdalnej uruchom to polecenie.

Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"

Właściwość PortNumber zawiera bieżący numer portu. W razie potrzeby zmień numer portu pulpitu zdalnego z powrotem na wartość domyślną (3389), używając tego polecenia.

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value 3389

Sprawdź, czy port został zmieniony na 3389 za pomocą tego polecenia.

Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"

Zamknij sesję zdalnego Azure PowerShell za pomocą tego polecenia.

Exit-PSSession

Sprawdź, czy punkt końcowy pulpitu zdalnego dla maszyny wirtualnej platformy Azure używa również portu TCP 3398 jako portu wewnętrznego. Uruchom ponownie maszynę wirtualną platformy Azure i spróbuj ponownie nawiązać połączenie pulpitu zdalnego.

Dodatkowe materiały

Jak zresetować hasło lub usługę pulpitu zdalnego dla maszyn wirtualnych z systemem Windows

Jak zainstalować i skonfigurować Azure PowerShell

Rozwiązywanie problemów z połączeniami secure shell (SSH) z maszyną wirtualną platformy Azure opartą na systemie Linux

Rozwiązywanie problemów z dostępem do aplikacji uruchomionej na maszynie wirtualnej platformy Azure

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.