Udostępnij za pośrednictwem


Identyfikowanie i diagnozowanie problemów w usłudze Azure Virtual Desktop (wersja klasyczna)

Ważne

Ta zawartość dotyczy usługi Azure Virtual Desktop (klasycznej), która nie obsługuje obiektów usługi Azure Resource Manager usługi Azure Virtual Desktop. Jeśli próbujesz zarządzać obiektami usługi Azure Resource Manager usługi Azure Virtual Desktop, zobacz ten artykuł.

Usługa Azure Virtual Desktop oferuje funkcję diagnostyki, która umożliwia administratorowi identyfikowanie problemów za pomocą jednego interfejsu. Role usługi Azure Virtual Desktop rejestrują aktywność diagnostyczną za każdym razem, gdy użytkownik wchodzi w interakcję z systemem. Każdy dziennik zawiera istotne informacje, takie jak role usługi Azure Virtual Desktop związane z transakcją, komunikaty o błędach, informacje o dzierżawie i informacje o użytkowniku. Działania diagnostyczne są tworzone zarówno przez użytkownika końcowego, jak i akcje administracyjne i można je podzielić na trzy główne zasobniki:

  • Działania subskrypcji kanału informacyjnego: użytkownik końcowy wyzwala te działania za każdym razem, gdy próbuje nawiązać połączenie z kanałem informacyjnym za pośrednictwem Pulpit zdalny Microsoft aplikacji.
  • działania Połączenie ion: użytkownik końcowy wyzwala te działania za każdym razem, gdy próbuje nawiązać połączenie z pulpitem lub usługą RemoteApp za pośrednictwem aplikacji Pulpit zdalny Microsoft.
  • Działania związane z zarządzaniem: administrator wyzwala te działania za każdym razem, gdy wykonują operacje zarządzania w systemie, takie jak tworzenie pul hostów, przypisywanie użytkowników do grup aplikacji i tworzenie przypisań ról.

Połączenie ions, które nie docierają do usługi Azure Virtual Desktop, nie będą wyświetlane w wynikach diagnostyki, ponieważ sama usługa roli diagnostyki jest częścią usługi Azure Virtual Desktop. Problemy z połączeniem usługi Azure Virtual Desktop mogą wystąpić, gdy użytkownik końcowy ma problemy z łącznością sieciową.

Aby rozpocząć, pobierz i zaimportuj moduł Programu PowerShell usługi Azure Virtual Desktop do użycia w sesji programu PowerShell, jeśli jeszcze tego nie zrobiono. Następnie uruchom następujące polecenie cmdlet, aby zalogować się do konta:

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

Diagnozowanie problemów z programem PowerShell

Diagnostyka usługi Azure Virtual Desktop używa tylko jednego polecenia cmdlet programu PowerShell, ale zawiera wiele opcjonalnych parametrów, które ułatwiają zawężenie i izolowanie problemów. W poniższych sekcjach wymieniono polecenia cmdlet, które można uruchomić, aby zdiagnozować problemy. Większość filtrów można zastosować razem. Wartości wymienione w nawiasach kwadratowych, takie jak <tenantName>, powinny zostać zastąpione wartościami, które mają zastosowanie do danej sytuacji.

Ważne

Funkcja diagnostyki służy do rozwiązywania problemów z jednym użytkownikiem. Wszystkie zapytania korzystające z programu PowerShell muszą zawierać parametry -UserName lub -ActivityID . W przypadku możliwości monitorowania użyj usługi Log Analytics. Aby uzyskać więcej informacji na temat wysyłania danych diagnostycznych do obszaru roboczego, zobacz Używanie usługi Log Analytics do funkcji diagnostyki.

Filtrowanie działań diagnostycznych według użytkownika

Parametr -UserName zwraca listę działań diagnostycznych zainicjowanych przez określonego użytkownika, jak pokazano w poniższym przykładowym poleceniu cmdlet.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN>

Parametr -UserName można również połączyć z innymi opcjonalnymi parametrami filtrowania.

Filtrowanie działań diagnostycznych według czasu

Listę zwróconych działań diagnostycznych można filtrować przy użyciu parametrów -StartTime i -EndTime . Parametr -StartTime zwróci listę działań diagnostycznych rozpoczynającą się od określonej daty, jak pokazano w poniższym przykładzie.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018"

Parametr -EndTime można dodać do polecenia cmdlet z parametrem -StartTime, aby określić określony okres czasu, dla którego chcesz otrzymywać wyniki. Poniższe przykładowe polecenie cmdlet zwróci listę działań diagnostycznych z zakresu od 1 sierpnia do 10 sierpnia.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -StartTime "08/01/2018" -EndTime "08/10/2018"

Parametry -StartTime i -EndTime można również łączyć z innymi opcjonalnymi parametrami filtrowania.

Filtrowanie działań diagnostycznych według typu działania

Możesz również filtrować działania diagnostyczne według typu działania za pomocą parametru -ActivityType . Następujące polecenie cmdlet zwróci listę połączeń użytkowników końcowych:

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -ActivityType Connection

Następujące polecenie cmdlet zwróci listę zadań zarządzania administratorami:

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Polecenie cmdlet Get-RdsDiagnosticActivities nie obsługuje obecnie określania źródła danych jako typ działania.

Filtrowanie działań diagnostycznych według wyniku

Listę zwróconych działań diagnostycznych można filtrować według wyniku za pomocą parametru -Result . Poniższe przykładowe polecenie cmdlet zwróci listę pomyślnych działań diagnostycznych.

Get-RdsDiagnosticActivities -TenantName <tenantName> -UserName <UserUPN> -Outcome Success

Poniższe przykładowe polecenie cmdlet zwróci listę nieudanych działań diagnostycznych.

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

Parametr -Result można również połączyć z innymi opcjonalnymi parametrami filtrowania.

Pobieranie określonego działania diagnostycznego według identyfikatora działania

Parametr -ActivityId zwraca określone działanie diagnostyczne, jeśli istnieje, jak pokazano w poniższym przykładowym poleceniu cmdlet.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityIdGuid>

Wyświetlanie komunikatów o błędach dla działania, które zakończyło się niepowodzeniem według identyfikatora działania

Aby wyświetlić komunikaty o błędach dla działania, które zakończyło się niepowodzeniem, należy uruchomić polecenie cmdlet z parametrem -Detailed . Listę błędów można wyświetlić, uruchamiając polecenie cmdlet Select-Object .

Get-RdsDiagnosticActivities -TenantName <tenantname> -ActivityId <ActivityGuid> -Detailed | Select-Object -ExpandProperty Errors

Pobieranie szczegółowych działań diagnostycznych

Parametr -Detailed zawiera dodatkowe szczegóły dla każdego zwróconego działania diagnostycznego. Format każdego działania różni się w zależności od typu działania. Parametr -Detailed można dodać do dowolnego zapytania Get-RdsDiagnosticActivities , jak pokazano w poniższym przykładzie.

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityId <ActivityGuid> -Detailed

Typowe scenariusze błędów

Scenariusze błędów są podzielone na kategorie wewnętrzne w usłudze i poza usługą Azure Virtual Desktop.

  • Problem wewnętrzny: określa scenariusze, których nie można rozwiązać przez administratora dzierżawy i należy rozwiązać jako problem z pomocą techniczną. Podczas przekazywania opinii za pośrednictwem społeczności technicznej usługi Azure Virtual Desktop uwzględnij identyfikator działania i przybliżony przedział czasu wystąpienia problemu.
  • Problem zewnętrzny: odnosi się do scenariuszy, które mogą zostać złagodzone przez administratora systemu. Są one zewnętrzne dla usługi Azure Virtual Desktop.

W poniższej tabeli wymieniono typowe błędy, w których mogą wystąpić administratorzy.

Uwaga

Ta lista zawiera najczęściej występujące błędy i jest aktualizowana w regularnych okresach. Aby upewnić się, że masz najbardziej aktualne informacje, pamiętaj, aby wrócić do tego artykułu co najmniej raz w miesiącu.

Kody błędów zarządzania zewnętrznego

Kod liczbowy Kod błędu Sugerowane rozwiązanie
1322 Połączenie ionFailedNoMappingOfSIDinAD Użytkownik nie jest członkiem identyfikatora Entra firmy Microsoft. Postępuj zgodnie z instrukcjami w usłudze Active Directory Administracja istrative Center, aby je dodać.
3 Brak autoryzacji dostępu Użytkownik, który próbował uruchomić administracyjne polecenie cmdlet programu PowerShell, nie ma uprawnień do tego lub błędnie wtypował swoją nazwę użytkownika.
1000 TenantNotFound Wprowadzona nazwa dzierżawy nie jest zgodna z żadną istniejącą dzierżawą. Przejrzyj nazwę dzierżawy dla literówek i spróbuj ponownie.
1006 TenantCannotBeRemovedHasSessionHostPools Nie można usunąć dzierżawy, o ile zawiera ona obiekty. Najpierw usuń pule hostów sesji, a następnie spróbuj ponownie.
2000 HostPoolNotFound Wprowadzona nazwa puli hostów nie jest zgodna z żadną istniejącą pulą hostów. Przejrzyj nazwę puli hostów pod kątem literówek i spróbuj ponownie.
2005 HostPoolCannotBeRemovedHasApplicationGroups Nie można usunąć puli hostów, o ile zawiera ona obiekty. Najpierw usuń wszystkie grupy aplikacji w puli hostów.
2004 HostPoolCannotBeRemovedHasSessionHosts Usuń wszystkie hosty sesji przed usunięciem puli hostów sesji.
5001 SessionHostNotFound Host sesji, którego dotyczy zapytanie, może być w trybie offline. Sprawdź stan puli hostów.
5008 SessionHostUserSessionsExist Przed wykonaniem zamierzonego działania zarządzania należy wylogować wszystkich użytkowników na hoście sesji.
6000 AppGroupNotFound Wprowadzona nazwa grupy aplikacji nie jest zgodna z żadną istniejącą grupą aplikacji. Przejrzyj nazwę grupy aplikacji dla literówek i spróbuj ponownie.
6022 RemoteAppNotFound Wprowadzona nazwa usługi RemoteApp nie jest zgodna z żadną aplikacją. Przejrzyj nazwę usługi RemoteApp pod kątem literówek i spróbuj ponownie.
6010 PublishedItemsExist Nazwa zasobu, który próbujesz opublikować, jest taka sama jak zasób, który już istnieje. Zmień nazwę zasobu i spróbuj ponownie.
7002 NameNotValidWhiteSpace Nie używaj białych znaków w nazwie.
8000 InvalidAuthorizationRoleScope Wprowadzona nazwa roli nie jest zgodna z żadną istniejącą nazwą roli. Przejrzyj nazwę roli dla literówek i spróbuj ponownie.
8001 UserNotFound Wprowadzona nazwa użytkownika nie jest zgodna z żadnymi istniejącymi nazwami użytkowników. Przejrzyj nazwę literówek i spróbuj ponownie.
8005 UserNotFoundInAAD Wprowadzona nazwa użytkownika nie jest zgodna z żadnymi istniejącymi nazwami użytkowników. Przejrzyj nazwę literówek i spróbuj ponownie.
8008 TenantConsentRequired Postępuj zgodnie z instrukcjami podanymi tutaj , aby wyrazić zgodę na dzierżawę.

Kody błędów połączenia zewnętrznego

Kod liczbowy Kod błędu Sugerowane rozwiązanie
-2147467259 Połączenie ionFailedAdErrorNoSuchMember Użytkownik nie jest członkiem usługi Active Directory. Postępuj zgodnie z instrukcjami w usłudze Active Directory Administracja istrative Center, aby je dodać.
-2147467259 Połączenie ionFailedAdTrustedRelationshipFailure Host sesji nie jest poprawnie przyłączony do usługi Active Directory.
-2146233088 Połączenie ionFailedUserHasValidSessionButRdshIs w złej kondycji Połączenia nie powiodły się, ponieważ host sesji jest niedostępny. Sprawdź kondycję hosta sesji.
-2146233088 Połączenie ionFailedClientDisconnect Jeśli ten błąd jest często wyświetlany, upewnij się, że komputer użytkownika jest połączony z siecią.
-2146233088 Połączenie ionFailedNoHealthyRdshAvailable Sesja, z z którymi użytkownik hosta próbował nawiązać połączenie, nie jest w dobrej kondycji. Debugowanie maszyny wirtualnej.
-2146233088 Połączenie ionFailedUserNotAuthorized Użytkownik nie ma uprawnień dostępu do opublikowanej aplikacji ani pulpitu. Błąd może pojawić się po usunięciu opublikowanych zasobów przez administratora. Poproś użytkownika o odświeżenie kanału informacyjnego w aplikacji pulpitu zdalnego.
2 FileNotFound Aplikacja, do których użytkownik próbował uzyskać dostęp, jest niepoprawnie zainstalowana lub ustawiona na nieprawidłową ścieżkę.
3 InvalidCredentials Nazwa użytkownika lub hasło wprowadzone przez użytkownika nie są zgodne z istniejącymi nazwami użytkownika ani hasłami. Przejrzyj poświadczenia dla literówek i spróbuj ponownie.
8 Połączenie ionBroken Połączenie między klientem a bramą lub serwerem spadło. Nie trzeba podejmować żadnych działań, chyba że wystąpi nieoczekiwanie.
14 UnexpectedNetworkDisconnect Połączenie z siecią spadło. Poproś użytkownika o ponowne nawiązanie połączenia.
24 Odwrotnie Połączenie Failed Maszyna wirtualna hosta nie ma bezpośredniego widoku bramy usług pulpitu zdalnego. Upewnij się, że można rozpoznać adres IP bramy.
1322 Połączenie ionFailedNoMappingOfSIDinAD Użytkownik nie jest członkiem usługi Active Directory. Postępuj zgodnie z instrukcjami w usłudze Active Directory Administracja istrative Center, aby je dodać.

Następne kroki

Aby dowiedzieć się więcej o rolach w usłudze Azure Virtual Desktop, zobacz Środowisko usługi Azure Virtual Desktop.

Aby wyświetlić listę dostępnych poleceń cmdlet programu PowerShell dla usługi Azure Virtual Desktop, zobacz dokumentację programu PowerShell.