🕵️
Azure Virtual Desktop のシャドウセッション
シャドウセッションとは?
シャドウセッション(Session Shadowing)は、AVD セッションホスト上で実行中のユーザーの仮想デスクトップ画面を、管理者が閲覧/操作できる機能です。
リモートでのトラブル対応に便利です。
管理者セッションは、ホストプールのセッション数にカウントされません。
前提・要件
- 管理者権限が必要
- 管理者が 対象ホストへ到達できるネットワーク環境があること
1. ポリシー設定(“遠隔操作を許可”)
テンプレートマシン、グループポリシー、セッションホストで以下のグループポリシー を設定します:
コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > リモート デスクトップ サービス > リモート デスクトップ セッション ホスト > 接続 > リモート デスクトップ サービスのユーザー セッションのリモート制御の規則を設定する
- 目的に応じて選択:
- ユーザーの許可が必要 / 表示のみ
- ユーザーの許可が必要 / フルコントロール
- ユーザーの許可なし / 表示のみ
- ユーザーの許可なし / フルコントロール(緊急対応向け)
- 以下の通信が許可されているか確認:
- リモートデスクトップ-シャドウ(TCP受信)
- リモートデスクトップ-シャドウ(TCP受信)
- リモートデスクトップ-ユーザーモード(UDP受信)
2. ユーザーがどのセッションホストに居るかを確認
Azure Portal > Azure Virtual Desktop > ホスト プール > セッションホスト から、
ユーザー が接続中の セッションホスト名(例:avd-host-0
)と セッション ID を確認できます。
3. 実行コマンド
管理者権限を持つユーザーの端末からコマンドプロンプトを開き、以下のコマンドを実行します。
ユーザーの許可ありでコントロール
Mstsc.exe /shadow:[SessionID] /v:[SessionHost IP] /control
ユーザーの許可無しでコントロール
Mstsc.exe /shadow:[SessionID] /v:[SessionHost IP] /control /noConsentPrompt
[SessionID]はシャドウセッションをされる側のユーザーのセッションID
[SessionHost IP]はシャドウセッションをされる側のセッションホストのプライベートIP
4. 動作確認
ユーザーの許可ありでコマンドを実行した場合、シャドウセッションされる側の画面に以下の表示がされますので、要求を受け入れます。
シャドウセッションが完了です。
まとめ
-
やることは3つだけ
- GPO(またはローカル ポリシー)で リモート制御の規則 を設定
- AVD ポータルの セッション で「どのホストのどの ID か」を把握
- 管理者権限でを持つユーザーで
Mstsc.exe /shadow:[SessionID] /v:[SessionHost IP] /control
もしくは、Mstsc.exe /shadow:[SessionID] /v:[SessionHost IP] /control /noConsentPrompt
を実行
参考資料
AVDのシャドウセッションにつきまして、現時点でMicrosoft Learn等には詳細な記載がございません。そのため、以下のブログを参考に本ブログを作成させていただきました。
Discussion