次の方法で共有


Azure Virtual Desktop (クラシック) で問題を特定して診断する

大事な

このコンテンツは、Azure Resource Manager Azure Virtual Desktop オブジェクトをサポートしていない Azure Virtual Desktop (クラシック) に適用されます。 Azure Resource Manager Azure Virtual Desktop オブジェクトを管理しようとしている場合は、この記事参照してください。

Azure Virtual Desktop には、管理者が 1 つのインターフェイスを介して問題を特定できる診断機能が用意されています。 Azure Virtual Desktop ロールは、ユーザーがシステムと対話するたびに診断アクティビティをログに記録します。 各ログには、トランザクションに関連する Azure Virtual Desktop ロール、エラー メッセージ、テナント情報、ユーザー情報などの関連情報が含まれています。 診断アクティビティは、エンド ユーザーと管理アクションの両方によって作成され、次の 3 つの主要なバケットに分類できます。

  • フィード サブスクリプション アクティビティ: エンド ユーザーは、Microsoft リモート デスクトップ アプリケーションを介してフィードに接続しようとするたびに、これらのアクティビティをトリガーします。
  • 接続アクティビティ: エンド ユーザーは、Microsoft リモート デスクトップ アプリケーションを介してデスクトップまたは RemoteApp に接続しようとするたびに、これらのアクティビティをトリガーします。
  • 管理アクティビティ: 管理者は、ホスト プールの作成、アプリケーション グループへのユーザーの割り当て、ロールの割り当ての作成など、システムで管理操作を実行するたびに、これらのアクティビティをトリガーします。

診断ロール サービス自体が Azure Virtual Desktop の一部であるため、Azure Virtual Desktop に到達しない接続は診断結果に表示されません。 Azure Virtual Desktop 接続の問題は、エンド ユーザーがネットワーク接続の問題を経験している場合に発生する可能性があります。

開始するには、まだ PowerShell セッションで使用する Azure Virtual Desktop PowerShell モジュール をダウンロードしてインポート 。 その後、次のコマンドレットを実行してアカウントにサインインします。

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

PowerShell に関する問題を診断する

Azure Virtual Desktop 診断では、1 つの PowerShell コマンドレットのみを使用しますが、問題を絞り込んで分離するのに役立つ多くの省略可能なパラメーターが含まれています。 次のセクションでは、問題を診断するために実行できるコマンドレットの一覧を示します。 ほとんどのフィルターは一緒に適用できます。 <tenantName>など、角かっこで囲まれた値は、状況に適用される値に置き換える必要があります。

大事な

診断機能は、単一ユーザーのトラブルシューティング用です。 PowerShell を使用するすべてのクエリには、-UserName または -ActivityID パラメーター 含める必要があります。 監視機能の場合は、Log Analytics を使用します。 診断データ ワークスペースに送信する方法の詳細については、「診断機能 に Log Analytics を使用する」を参照してください。

ユーザーごとに診断アクティビティをフィルターする

-UserName パラメーターは、次のコマンドレット例に示すように、指定したユーザーによって開始された診断アクティビティの一覧を返します。

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

-UserName パラメーターは、他のオプションのフィルター処理パラメーターと組み合わせることもできます。

診断アクティビティを時間でフィルター処理する

返された診断アクティビティの一覧は、-StartTime-EndTime パラメーターを使ってフィルター処理できます。 -StartTime パラメーターは、次の例に示すように、特定の日付から始まる診断アクティビティ の一覧を返します。

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

-EndTime パラメーターは、-StartTime パラメーターを使用してコマンドレットに追加して、結果を受け取る特定の期間を指定できます。 次のコマンドレット例は、8 月 1 日から 8 月 10 日までの診断アクティビティの一覧を返します。

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

-StartTime パラメーターと -EndTime パラメーター 、他のオプションのフィルター処理パラメーターと組み合わせることもできます。

アクティビティの種類で診断アクティビティをフィルター処理する

-ActivityType パラメーターを使用して、アクティビティの種類別に診断アクティビティをフィルター処理することもできます。 次のコマンドレットは、エンドユーザー接続の一覧を返します。

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

次のコマンドレットは、管理者管理タスクの一覧を返します。

Get-RdsDiagnosticActivities -TenantName <tenantName> -ActivityType Management

Get-RdsDiagnosticActivities コマンドレットでは、現在、Feed を ActivityType として指定することはできません。

結果で診断活動をフィルタリングする

-Outcome パラメーターを使用して、返された診断アクティビティの一覧を結果でフィルター処理できます。 次のコマンドレット例は、成功した診断アクティビティの一覧を返します。

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

次のコマンドレット例は、失敗した診断アクティビティの一覧を返します。

Get-RdsDiagnosticActivities -TenantName <tenantName> -Outcome Failure

-Outcome パラメーターは、他のオプションのフィルター処理パラメーターと組み合わせることもできます。

アクティビティ ID を使用して特定の診断アクティビティを取得する

-ActivityId パラメーターは、次のコマンドレット例に示すように、特定の診断アクティビティが存在する場合に返します。

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

アクティビティ ID で失敗したアクティビティのエラー メッセージを表示する

失敗したアクティビティのエラー メッセージを表示するには、-Detailed パラメーターを指定してコマンドレットを実行する必要があります。 Select-Object コマンドレットを実行すると、エラーの一覧を表示できます。

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

詳細な診断アクティビティを取得する

-Detailed パラメーターは、返される各診断アクティビティの追加の詳細を提供します。 各アクティビティの形式は、アクティビティの種類によって異なります。 -Detailed パラメーターは、次の例に示すように、「Get-RdsDiagnosticActivities」 クエリ に追加できます。

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

一般的なエラー シナリオ

エラー シナリオは、サービスの内部と Azure Virtual Desktop の外部に分類されます。

  • 内部の問題: テナント管理者が軽減できないシナリオを指定し、サポートの問題として解決する必要があります。 Azure Virtual Desktop Tech Communityを通じてフィードバックを提供する場合は、アクティビティ ID と問題が発生したおおよその時間枠を含めます。
  • 外部の問題: システム管理者が軽減できるシナリオに関連します。 これらは Azure Virtual Desktop の外部にあります。

次の表に、管理者が直面する可能性がある一般的なエラーを示します。

手記

この一覧には最も一般的なエラーが含まれており、定期的に更新されます。 最新の up-to情報を確実に取得するには、少なくとも月に 1 回、この記事を確認してください。

外部管理エラー コード

数値コード エラー コード 推奨されるソリューション
1322 接続失敗:SIDがADにマッピングされていません ユーザーは Microsoft Entra ID のメンバーではありません。 Active Directory 管理センター の指示に従って追加します。
3 不正アクセス 管理 PowerShell コマンドレットを実行しようとしたユーザーは、実行するアクセス許可を持っていないか、ユーザー名を誤って入力しました。
1000 テナントが見つかりません 入力したテナント名が既存のテナントと一致しません。 テナント名で入力ミスを確認し、もう一度やり直してください。
1006 テナントを削除できません。セッションホストプールがあります。 オブジェクトが含まれている限り、テナントを削除することはできません。 最初にセッション ホスト プールを削除してから、もう一度やり直してください。
2000 ホストプールが見つかりません 入力したホスト プール名が既存のホスト プールと一致しません。 ホスト プール名で入力ミスを確認し、やり直してください。
2005 HostPoolCannotBeRemovedHasApplicationGroups オブジェクトが含まれている限り、ホスト プールを削除することはできません。 最初に、ホスト プール内のすべてのアプリケーション グループを削除します。
2004 セッションホストがあるためホストプールは削除できません セッション ホスト プールを削除する前に、まずすべてのセッション ホストを削除します。
5001 セッションホストが見つかりませんでした クエリを実行したセッション ホストがオフラインである可能性があります。 ホスト プールの状態を確認します。
5008 セッションホストのユーザーセッションが存在します 目的の管理アクティビティを実行する前に、セッション ホスト上のすべてのユーザーをサインアウトする必要があります。
6000 アプリグループが見つかりません 入力したアプリケーション グループ名が既存のアプリケーション グループと一致しません。 アプリケーション グループ名で入力ミスを確認し、もう一度やり直してください。
6022 リモートアプリが見つかりません 入力した RemoteApp 名がアプリケーションと一致しません。 RemoteApp 名で入力ミスを確認し、やり直してください。
6010 公開済みのアイテムが存在します 発行しようとしているリソースの名前は、既に存在するリソースと同じです。 リソース名を変更して、もう一度やり直してください。
7002 NameNotValidWhiteSpace 名前に空白を使用しないでください。
8000 無効な認可ロール範囲 入力したロール名が既存のロール名と一致しません。 ロール名の入力ミスを確認し、もう一度試してください。
8001 ユーザーが見つかりません 入力したユーザー名が既存のユーザー名と一致しません。 入力ミスの名前を確認し、もう一度やり直してください。
8005 AADでユーザーが見つかりません 入力したユーザー名が既存のユーザー名と一致しません。 入力ミスの名前を確認し、もう一度やり直してください。
8008 テナントの同意が必要です の指示に従って、ここで テナントに同意を提供します。

外部接続エラー コード

数値コード エラー コード 推奨されるソリューション
-2147467259 接続失敗エラー:メンバーが存在しません (ConnectionFailedAdErrorNoSuchMember) ユーザーが Active Directory のメンバーではありません。 Active Directory 管理センター の指示に従って追加します。
-2147467259 接続失敗Ad信頼関係の失敗 セッション ホストが Active Directory に正しく参加していません。
-2146233088 接続失敗、ユーザーセッションは有効ですがRDSHが不健全です セッション ホストが使用できないため、接続に失敗しました。 セッション ホストの正常性を確認します。
-2146233088 接続失敗クライアント切断 このエラーが頻繁に表示される場合は、ユーザーのコンピューターがネットワークに接続されていることを確認します。
-2146233088 接続失敗: 使用可能な正常なRDSHがありません ホスト ユーザーが接続しようとしたセッションが正常ではありません。 仮想マシンをデバッグします。
-2146233088 接続失敗:ユーザーが認証されていません ユーザーには、発行されたアプリまたはデスクトップにアクセスするためのアクセス許可がありません。 このエラーは、管理者が発行済みリソースを削除した後に表示されることがあります。 リモート デスクトップ アプリケーションでフィードを更新するようにユーザーに依頼します。
2 ファイルが見つかりません ユーザーがアクセスしようとしたアプリケーションが正しくインストールされていないか、正しくないパスに設定されています。
3 無効な資格情報 ユーザーが入力したユーザー名またはパスワードが、既存のユーザー名またはパスワードと一致しません。 入力された資格情報を誤字がないか確認し、もう一度試してください。
8 ConnectionBroken クライアントとゲートウェイまたはサーバーの間の接続が切断されました。 予期せず発生しない限り、アクションは必要ありません。
14 予期しないネットワーク切断 ネットワークへの接続が切断されました。 ユーザーにもう一度接続するように依頼します。
24 リバース接続失敗 ホスト仮想マシンには、RD ゲートウェイへの直接の視線がありません。 ゲートウェイの IP アドレスを解決できることを確認します。
1322 AD で SID をマッピングできず、接続に失敗しました ユーザーが Active Directory のメンバーではありません。 Active Directory 管理センター の指示に従って追加します。

次の手順

Azure Virtual Desktop 内のロールの詳細については、Azure Virtual Desktop 環境に関するページを参照してください。

Azure Virtual Desktop で使用可能な PowerShell コマンドレットの一覧については、PowerShell リファレンスを参照してください。