リモート デスクトップ プロトコルを使用した周辺機器とリソースのリダイレクト

リダイレクトを使用すると、リモート デスクトップ プロトコル (RDP) 経由のローカル デバイス (クライアント側) とリモート セッション (サーバー側) の間で、クリップボード、Web カメラ、USB デバイス、プリンターなどのリソースや周辺機器を共有できます。 リダイレクションの目的は、ローカル デバイスを使用した場合と同等のシームレスなリモート環境を提供することです。 この環境は、リモート ワークの生産性と効率性を高めるのに役立ちます。 管理者として、セキュリティ要件とユーザーのニーズのバランスを取るためにリダイレクトを構成できます。

この記事では、周辺機器クラスの違いによるリダイレクト方法、リダイレクトの分類、リダイレクトできるリソースと周辺機器の中でサポートされる種類の詳細について説明します。

リダイレクト方法と分類

RDP は、次の 2 つのリダイレクト方法を使用して、ローカル デバイスとリモート セッションの間でリソースと周辺機器をリダイレクトします。

  • 高レベルのリダイレクト: 特定のクラスの周辺機器や環境に対して、すべての通信をインターセプトして最適化することで、インテリジェントな中継局として機能します。 高レベルのリダイレクトは、リモート シナリオで可能な限り最高のパフォーマンスを保証しますが、周辺機器ドライバーとアプリケーションのサポートにも依存します。

  • 不透明な低レベルのリダイレクト: 周辺機器の生の通信を、リモート シナリオ用に解釈、把握、スロットル、または最適化することなく転送します。

    不透明な低レベルのリダイレクトは、適切な高レベルの周辺機器の反映リダイレクト ソリューションが存在しない USB を介して接続する周辺機器や、リモート セッションで適切に機能するための特定のドライバーやソフトウェア要件がある周辺機器に使用されます。 USB リダイレクトはUSB 要求のブロック (URB) を使用するポート レベルとプロトコル レベルで発生します。 不透明な低レベルのリダイレクトは、シリアル ポートや COM ポートを介して接続する周辺機器にも使用されます。

高レベルのリダイレクトでは、リダイレクトの方向とリダイレクトされるリソースや周辺機器の種類に基づいて分類される、4 つの包括的な手法が使用されます。 高レベルのリダイレクトの 4 つの分類は次のとおりです。

  • 周辺機器の反映: ローカル デバイスに接続されている特定のクラスの周辺機器をリモート セッションに反映させます。 この分類には、キーボード、マウス、タッチ、ペン、トラックパッドなどの入力デバイスが含まれます。

  • データ共有: ローカル デバイスとクリップボードのリモート セッションの間でデータを共有および転送します。

  • 状態の反映: バッテリーの状態や場所など、ローカル デバイスの状態をリモート セッションに反映します。

  • アプリケーションの分割: Microsoft Teams など、アプリケーションの機能をローカル デバイスとリモート セッションに分割します。

使用されるリダイレクト方法は、Windows、macOS、iOS/iPadOS、Android などの周辺機器クラスと、利用可能なリソース、周辺機器、機能によって異なります。 リモート セッションで利用可能なリダイレクトは、使用するアプリケーションにも依存します。 異なるプラットフォーム間での Windows App を使用したリダイレクトのサポートの比較については、「プラットフォームとデバイスごとの Windows アプリの機能を比較する」を参照してください。

重要

最高のパフォーマンスとユーザー エクスペリエンスが提供されるため、可能な限り高レベルのリダイレクトを使用する必要があります。 不透明な低レベルのリダイレクトは、事実上のフォールバック シナリオであるため、そのような周辺機器のパフォーマンス、信頼性、サポートされる機能セットは既定では保証されません。

暗号化された USB ストレージなど、リダイレクトできない周辺機器もあります。

USB リダイレクトの比較

次のテーブルは、不透明な低レベル USB リダイレクトを使用した USB 周辺機器のリダイレクトと、RDP 経由でサポートされている周辺機器クラスによる高レベルのリダイレクトを使用した周辺機器のリダイレクトを比較したものです。

不透明な低レベルの USB リダイレクト 高レベルのリダイレクト
USB 周辺機器用のドライバーがリモート セッションにインストールされている必要があります。 ローカル デバイスにドライバーをインストールする必要はありません。 周辺機器用のドライバーがローカル デバイスにインストールされている必要があります。 ほとんどの場合、ドライバーをリモート セッションにインストールする必要はありません。
多くの周辺機器クラスに対して単一のリダイレクト方法を使用します。 各周辺機器クラスに対して特定のリダイレクト方法を使用します。
RDP 接続経由で USB 周辺機器との間で USB 要求ブロックを転送します。 周辺機器クラス用に最適化されたプロトコルを使用することによって、リモート セッションで高レベルの周辺機器機能を公開します。
リモート セッションで使用中の USB 周辺機器をローカル デバイスで使用することはできません。 一度に 1 つのリモート セッションのみ使用できます。 周辺機器はローカル デバイスとリモート セッションで同時に使用できます。
低遅延接続向けに最適化されています。 周辺機器ドライバーの実装に基づく変数。 LAN 接続および WAN 接続向けに最適化され、帯域幅や待機時間などの条件の変化を認識します。

不透明な低レベルの USB リダイレクトの制御

不透明な低レベルの USB リダイレクトを使用した USB 周辺機器のリダイレクトはRDP プロパティusbdevicestoredirect:s:<value>によって制御されます。ここでの<値>デバイス インスタンス パスUSB\<Vendor ID and Product ID>\<USB instance ID>の形式です。

Azure Virtual Desktop などの一部の製品やサービスでは、RDP プロパティの値を次のように設定することで、リダイレクト動作を制御できます。

  • USB 周辺機器の中には、不透明な低レベルの USB リダイレクトや高レベルのリダイレクトを使用する関数を持つものがあります。 既定では、これらの周辺機器は高レベルのリダイレクトを使用してリダイレクトされます。 RDP プロパティを使用すると、これらの周辺機器に不透明な低レベルの USB リダイレクトの使用を適用できます。 不透明な低レベルの USB リダイレクトで USB オーディオ周辺機器を使用するには、ローカル コンピューターでサウンドを再生するようにオーディオ出力の場所を設定する必要があります。

  • クラス GUID を使用して、USB 周辺機器のクラス全体のリダイレクトを切り替えます。

  • この値は、高レベルのリダイレクト メカニズムやドライバーがインストールされていないほとんどの周辺機器をリダイレクトするため、ワイルドカード * を使用します。 クラス GUID は、自動的に一致しない追加の周辺機器をリダイレクトするために使用できます。

値は単独で使用することができ、セミコロンで区切ることで、処理順序に従ってこれらの値を組み合わせて使用することもできます。 次のテーブルに、有効な値と処理順序を一覧表示します。

処理の順序 Value 説明
該当なし 値が指定されていない 不透明な低レベルのリダイレクトを使用して、サポートされている任意の USB 周辺機器をリダイレクトしないでください。
1 * 高レベルのリダイレクトを使用していないすべての周辺機器をリダイレクトします。
2 {<DeviceClassGUID>} 指定したデバイス セットアップ クラスのメンバーであるすべての周辺機器をリダイレクトします。
3 <USBInstanceID> 指定されたデバイス インスタンス パスで指定された USB 周辺機器をリダイレクトします。
4 <-USBInstanceID> 指定されたデバイス インスタンス パスで指定された周辺機器をリダイレクトしないでください。

正しい処理順序で文字列を構成する場合、構文は次のようになります。

usbdevicestoredirect:s:*;{<DeviceClassGUID>};<USBInstanceID>;<-USBInstanceID>

USB デバイスのデバイス インスタンス パスは、USB\<Device ID>\<USB instance ID> 形式で 3 つのセクションから構成されます。 この値はデバイス マネージャーで確認するか、Get-PnpDevice PowerShell コマンドレットを使用して確認できます。 3 つのセクションの順番は次のとおりです。

  1. バス ドライバー名 (この場合は USB)。
  2. デバイス ID (USB 周辺機器のベンダー ID (VID) と製品 ID を含みます)。
  3. インスタンス ID (コンピューター上の同じ種類のデバイスと他のデバイスを一意に区別します)。

RDP 経由でリダイレクトする USB 周辺機器を指定する場合、デバイス インスタンス パスを使用できます。 デバイス インスタンス パスを使用する場合、値は接続されているローカル デバイスのポートに固有です。 たとえば、最初の USB ポートに接続された周辺機器にはデバイス インスタンス パス USB\VID_045E&PID_0779\5&21F6DCD1&0&5 がありますが、同じ周辺機器を 2 番目の USB ポートに接続すると、デバイス インスタンス パス USB\VID_045E&PID_0779\5&21F6DCD1&0&6 があります。 USB 周辺機器の場合、デバイス インスタンス パスの指定は、周辺機器が同じポートに接続されている場合にのみリダイレクトされることを意味します。

あるいは、クラス GUID を使用して USB 周辺機器のデバイス セットアップ クラス全体をリダイレクトすることもできます。 クラス GUID を使用する場合、対応するクラス GUID を持つローカル デバイス上のすべての周辺機器は、それらが接続されているポートに関係なく、リダイレクトされます。 たとえば、クラス GUID {4d36e96c-e325-11ce-bfc1-08002be10318} を使用すると、すべてのマルチメディア デバイスがリダイレクトされます。 すべてのクラスの GUID のリストは、「ベンダーが使用できる、システム定義のデバイス セットアップ クラス」を参照してください。

RDP プロパティの使用方法の例については、「usbdevicestoredirect RDP プロパティ」を参照してください。

サポートされているリソースと周辺機器

次のテーブルに、サポートされている各リソースまたは周辺機器クラスと、それぞれの使用に推奨されるリダイレクト方法を一覧表示します。

リソースまたは周辺機器クラス リダイレクト方法 主なデータ フローの方向
プリンター複合機/スキャナー 不透明な低レベルのリダイレクト 双方向
オーディオ入力 - マイク (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
オーディオ出力 - スピーカー (USB または統合型) 高レベル - 周辺反機器の反映 リモートからローカルへ
バッテリー (自動、構成不可) 高レベル - 状態の反映 ローカルからリモートへ
生体認証リーダー (セッション内のみ、ログオン中は不可) 不透明な低レベルのリダイレクト 双方向
カメラ/Web カメラ (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
CD/DVD ドライブ (読み取り専用) 高レベル - 周辺反機器の反映 ローカルからリモートへ
クリップボード 高レベル - データの共有 双方向
キーボード (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
ローカル ハード ディスクまたは USB リムーバブル ストレージ 高レベル - 周辺反機器の反映 双方向
場所 高レベル - 状態の反映 ローカルからリモートへ
マウス (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
MTP Media Player 高レベル - 周辺反機器の反映 ローカルからリモートへ
マルチメディア リダイレクト 高レベル - アプリケーションの分割 双方向
ペン (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
プリンター (ローカル接続またはネットワーク) 高レベル - 周辺反機器の反映 リモートからローカルへ
PTP カメラ 高レベル - 周辺反機器の反映 ローカルからリモートへ
スキャナー 不透明な低レベルのリダイレクト 双方向
シリアル ポートと COM ポート 不透明な低レベルのリダイレクト 双方向
スマート カード リーダー (smart card reader) 高レベル - 周辺反機器の反映 双方向
タッチ (USB または統合型) 高レベル - 周辺反機器の反映 ローカルからリモートへ
トラックパッド (USB または統合型、精密タッチパッド (PTP) ジェスチャーを除く) 高レベル - 周辺反機器の反映 ローカルからリモートへ
USB からシリアル アダプターへ 不透明な低レベルのリダイレクト 双方向
VoIP 電話/ヘッドセット 不透明な低レベルのリダイレクト 双方向
WebAuthN 高レベル - 周辺反機器の反映 双方向

Note

  • 次の周辺機器クラスはリダイレクトからブロックされます。

    • USB ネットワーク アダプター。
    • USB ディスプレイ。
  • スキャナーのリダイレクトには TWAIN のサポートは含まれていません。

  • バッテリーの反映は、Azure Virtual Desktop および Windows 365 でのみ利用できます。 自動的に利用でき、構成はできません。

次の図は、各周辺機器クラスで使用されるリダイレクト方法を示しています。

異なる周辺機器クラスがどのように高レベルおよび不透明な低レベルのリダイレクト方法にマッピングするかを示す図。

構成の優先順位

リダイレクトを有効にするデバイス クラスとリダイレクトの動作は、リモート セッションの管理者が構成します。 この動作は、Microsoft Intune またはグループ ポリシー (Active Directory またはローカル) のサーバー側で構成するか、リモート セッションへの接続に使用される .rdp ファイルで指定できます。 Azure Virtual Desktop とリモート デスクトップ サービスにもブローカー サービスがあり、代わりに RDP プロパティを指定できます。

ただし、より限定的な構成が必要な場合は、特定の設定をローカル デバイス上でオーバーライドできます。 たとえば、すべてのリモート セッションでクリップボードが既定でリダイレクトされるように管理者が構成していても、ローカル デバイスがクリップボードのリダイレクトを無効にするように構成されている場合、リモート セッションでクリップボードは使用できません。 これにより、ユーザーやデバイスのサブセットで既定の構成よりも制限の多い設定が必要なシナリオに柔軟性が提供されます。