Szczegółowe procedury rozwiązywania problemów z połączeniem pulpitu zdalnego z maszynami wirtualnymi systemu Windows na platformie Azure
Dotyczy: ✔️ maszyny wirtualne z systemem Windows
Ten artykuł zawiera szczegółowe kroki rozwiązywania problemów umożliwiające diagnozowanie i naprawianie złożonych błędów pulpitu zdalnego dla maszyn wirtualnych platformy Azure opartych na systemie Windows.
Ważne
Aby wyeliminować bardziej typowe 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 pulpitu zdalnego. Wykonaj następujące kroki, aby określić, 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:
Przed kontynuowaniem może pomóc psychicznie przejrzeć, co zmieniło się od czasu ostatniego pomyślnego nawiązania połączenia pulpitu zdalnego z maszyną wirtualną. Na przykład:
- Publiczny adres IP maszyny wirtualnej lub usługi w chmurze zawierającej maszynę wirtualną (nazywany również wirtualnym adresem IP VIP) uległ zmianie. Błąd protokołu RDP może być spowodowany 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 nawiązać połączenie z maszynę wirtualną. Możesz też spróbować nawiązać połączenie bezpośrednio za pomocą nowego adresu VIP.
- Używasz aplikacji innej firmy do zarządzania połączeniami pulpitu zdalnego zamiast używania połączenia wygenerowanego przez witrynę Azure Portal. Sprawdź, czy konfiguracja aplikacji zawiera prawidłowy port TCP dla ruchu pulpitu zdalnego. Ten port można sprawdzić dla klasycznej maszyny wirtualnej w witrynie Azure Portal, klikając punkty końcowe ustawień > maszyny wirtualnej.
Kroki wstępne
Przed przejściem do szczegółowego rozwiązywania problemów,
- Sprawdź stan maszyny wirtualnej w witrynie Azure Portal, aby uzyskać informacje o oczywistych problemach.
- Postępuj zgodnie z instrukcjami szybkiego rozwiązywania problemów, aby uzyskać typowe błędy protokołu RDP w podstawowym przewodniku rozwiązywania problemów.
- W przypadku obrazów niestandardowych upewnij się, że dysk VHD jest prawidłowo przygotowany przed jego przekazaniem. Aby uzyskać więcej informacji, zobacz Prepare a Windows VHD or VHDX to upload to Azure (Przygotowywanie dysku VHD lub VHDX systemu Windows do przekazania na platformę Azure).
Spróbuj ponownie nawiązać połączenie 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:
- Komputer kliencki pulpitu zdalnego
- Urządzenie brzegowe intranetu organizacji
- Sieciowe grupy zabezpieczeń
- Maszyna wirtualna platformy Azure oparta na systemie Windows
Źródło 1: komputer kliencki pulpitu zdalnego
Sprawdź, czy komputer może nawiązać połączenia pulpitu zdalnego z innym komputerem lokalnym z systemem Windows.
Jeśli nie możesz, sprawdź następujące ustawienia na komputerze:
- Lokalne ustawienie zapory blokujące ruch pulpitu zdalnego.
- Lokalnie zainstalowane oprogramowanie serwera proxy klienta, które uniemożliwia nawiązywanie połączeń pulpitu zdalnego.
- Zainstalowane lokalnie oprogramowanie do monitorowania sieci, które uniemożliwia nawiązywanie połączeń pulpitu zdalnego.
- Inne typy oprogramowania zabezpieczającego, które monitorują ruch lub zezwalają/nie zezwalają na określone typy ruchu uniemożliwiające 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 możesz znaleźć rzeczywistą przyczynę w ten sposób, skontaktuj się z administratorem sieci, aby poprawić ustawienia oprogramowania, aby zezwolić na połączenia pulpitu zdalnego.
Źródło 2: Urządzenie brzegowe intranetowe organizacji
Sprawdź, czy komputer połączony bezpośrednio z Internetem może nawiązać połączenia pulpitu zdalnego z maszyną wirtualną platformy Azure.
Jeśli nie masz komputera połączonego bezpośrednio z Internetem, utwórz i przetestuj nową maszynę wirtualną 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 teście 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 podłączonym bezpośrednio do Internetu, sprawdź urządzenie brzegowe intranetu organizacji pod kątem:
- Wewnętrzna zapora blokująca połączenia HTTPS z Internetem.
- Serwer proxy uniemożliwiający nawiązywanie połączeń pulpitu zdalnego.
- Wykrywanie nieautoryzowane lub oprogramowanie do monitorowania sieci uruchomione na urządzeniach w sieci brzegowej, które uniemożliwia nawiązywanie połączeń pulpitu zdalnego.
Skontaktuj się z administratorem sieci, aby poprawić ustawienia intranetowego urządzenia brzegowego organizacji, aby zezwolić na połączenia pulpitu zdalnego opartego na protokole HTTPS z Internetem.
Źródło 3. Sieciowe grupy zabezpieczeń
Sieciowe grupy zabezpieczeń umożliwiają bardziej szczegółową kontrolę dozwolonego ruchu przychodzącego i wychodzącego. Reguły obejmujące podsieci i usługi w chmurze można tworzyć w sieci wirtualnej platformy Azure.
Użyj funkcji weryfikacji przepływu adresu IP w celu potwierdzenia, że 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 dla portu RDP (domyślnie 3389) istnieje priorytetowa reguła ruchu przychodzącego sieciowej grupy zabezpieczeń "Zezwalaj". Aby uzyskać więcej informacji, zobacz Używanie obowiązujących reguł zabezpieczeń do rozwiązywania problemów z przepływem ruchu maszyny wirtualnej.
Źródło 4: maszyna wirtualna platformy Azure oparta na systemie Windows
Postępuj zgodnie z instrukcjami w tym artykule. Ten artykuł resetuje usługę pulpitu zdalnego na maszynie wirtualnej:
- Włącz regułę domyślną 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.
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ź 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 lokalna zapora ma regułę ruchu wychodzącego, która uniemożliwia ruch pulpitu zdalnego.
- Wykrywanie nieautoryzowane lub oprogramowanie do monitorowania sieci uruchomione 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 programu Azure PowerShell na maszynie wirtualnej platformy Azure. Najpierw należy zainstalować certyfikat dla usługi w chmurze hostowania maszyny wirtualnej. Przejdź do pozycji Konfigurowanie bezpiecznego zdalnego dostępu programu PowerShell do maszyn wirtualnych platformy Azure i pobierz plik skryptu InstallWinRMCertAzureVM.ps1 na komputer lokalny.
Następnie zainstaluj program Azure PowerShell, jeśli jeszcze tego nie zrobiono. Zobacz artykuł Instalowanie i konfigurowanie programu Azure PowerShell.
Następnie otwórz wiersz polecenia programu Azure PowerShell i zmień bieżący folder na lokalizację pliku skryptu InstallWinRMCertAzureVM.ps1 . Aby uruchomić skrypt programu Azure PowerShell, należy ustawić prawidłowe zasady wykonywania. Uruchom polecenie Get-ExecutionPolicy, aby określić bieżący poziom zasad. Aby uzyskać informacje o ustawianiu odpowiedniego poziomu, zobacz Set-ExecutionPolicy.
Następnie wprowadź nazwę subskrypcji platformy Azure, nazwę usługi w chmurze i nazwę maszyny wirtualnej (usuwanie < znaków 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
Poprawną 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 pobrać z kolumny ServiceName na ekranie polecenia Get-AzureVM .
Sprawdź, czy masz nowy certyfikat. Otwórz przystawkę Certyfikaty dla bieżącego użytkownika i poszukaj w folderze Zaufane główne urzędy certyfikacji\Certyfikaty . W kolumnie Wystawione do powinien zostać wyświetlony certyfikat z nazwą DNS usługi w chmurze (na przykład: cloudservice4testing.cloudapp.net).
Następnie zainicjuj zdalną sesję programu 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 wiersza polecenia programu Azure PowerShell:
[cloudservice4testing.cloudapp.net]: PS C:\Users\User1\Documents>
Pierwszą częścią tego monitu jest 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 programu Azure PowerShell dla tej usługi w chmurze, aby zbadać wymienione problemy i poprawić konfigurację.
Aby ręcznie poprawić usług pulpitu zdalnego nasłuchiwanie portu TCP
W zdalnym wierszu polecenia sesji programu Azure PowerShell 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 przy użyciu tego polecenia.
Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"
Zamknij zdalną sesję programu Azure PowerShell przy użyciu 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
Instalowanie i konfigurowanie programu Azure PowerShell
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 na temat platformy Azure.