Windows デバイス ポータルの概要

Windows デバイス ポータル (WDP) は、ネットワークまたは USB 接続経由でデバイスの設定を構成および管理できる Windows デバイスに含まれる Web サーバーです (ローカル接続は、Web ブラウザーを使用するデバイスでもサポートされます)。

WDP には、Windows デバイスのリアルタイム パフォーマンスのトラブルシューティングと表示のための高度な診断ツールも用意されています。

WDP 機能は、 REST API のコレクションを通じてプログラムによって公開されます。

この記事では、Windows デバイス ポータルの一般的な説明と、各Windowsデバイス ファミリに関するより具体的な情報を含む記事へのリンクを示します。

Note

デバイス ファミリは、デバイスのクラス全体で期待できる API、システム特性、および動作を識別します。

Warning

デバイス ポータルは既定で無効になっています。 使用する前に、開発者モードを有効にしてから、[ 設定] > [システム > 詳細設定] でデバイス ポータルを明示的に有効にする必要があります。

セットアップ

各デバイス ファミリには WDP のバージョンが用意されていますが、機能とセットアップはデバイスの要件によって異なります。

これらは、すべてのデバイスの基本的な手順です。

  1. 開発者モードを有効にします。 手順については、 開発者向けの設定 を参照してください。

    開発者モードが有効になっていることを示す [システム >の詳細設定] ウィンドウ>設定のスクリーンショット。

  2. デバイスで Device Portal を有効にします ([設定] > システム > 詳細設定)。

    有効にした後に使用可能なデバイス ポータルの設定を示す [システム >の詳細設定] ウィンドウ>設定のスクリーンショット。

  3. デバイスと PC をローカル ネットワークまたは USB 経由で接続します。

  4. ブラウザーの [デバイス ポータル] ページに移動します。 次の表に、各デバイス ファミリで使用されるポートとプロトコルを示します。

次の表に、WDP のデバイス固有の詳細を示します。

デバイス ファミリ 既定ではオンですか? HTTP HTTPS USB 手順
Desktop と IoT Enterprise 開発モード内で有効にする 50080* 50043* N/A Desktop または IoT Enterprise デバイス向け Device Portal

* デスクトップ上のデバイス ポータルが、デバイス上の既存のポート要求との競合を防ぐために一時的な範囲 (>50,000) のポートを要求するため、これは常に当てはまるとは限りません。 詳細については、デスクトップ用デバイス ポータルレジストリ ベースの構成セクションWindows参照してください。

Features

ツール バーとナビゲーション

ページの上部にあるツール バーから、よく使用される機能にアクセスできます。

  • 電源: 電源オプションにアクセスします。
    • シャットダウン: デバイスをオフにします。
    • 再起動: デバイスの電源を循環します。
  • ヘルプ: ヘルプ ページを開きます。

ページの左側にあるナビゲーション ウィンドウのリンクを使用して、デバイスで使用可能な管理および監視ツールに移動します。

ここでは、デバイス ファミリ間で共通のツールについて説明します。 デバイスによっては、その他のオプションを使用できる場合があります。 詳細については、デバイスの種類の特定のページを参照してください。

アプリ マネージャー

Apps マネージャーは、ホスト デバイス上のアプリ パッケージとバンドルのインストール/アンインストールと管理機能を提供します。

Device Portal の [アプリ マネージャー] ページ

  • アプリの展開: ローカル、ネットワーク、または Web ホストからパッケージ アプリを展開し、ネットワーク共有からルーズ ファイルを登録します。
  • インストールされているアプリ: ドロップダウン メニューを使用して、デバイスにインストールされているアプリを削除または起動します。
  • 実行中のアプリ: 現在実行中のアプリに関する情報を取得し、必要に応じて閉じます。

アプリをインストール (サイドロード) する

Windows Device Portal を使用して、開発中にアプリをサイドロードできます。

  1. アプリ パッケージを作成したら、デバイスにリモートでインストールできます。 Visual Studioでビルドすると、出力フォルダーが生成されます。

    アプリのインストール

  2. Windowsデバイス ポータルで、[アプリ マネージャー] ページに移動します。

  3. [ アプリのデプロイ ] セクションで、[ ローカル ストレージ] を選択します。

  4. [ アプリケーション パッケージの選択] で [ ファイルの選択 ] を選択し、サイドロードするアプリ パッケージを参照します。

  5. [ アプリ パッケージの署名に使用する証明書ファイルの選択 (.cer)] で、[ ファイルの選択 ] を選択し、そのアプリ パッケージに関連付けられている証明書を参照します。

  6. アプリのインストールと共にオプションまたはフレームワーク パッケージをインストールする場合は、それぞれのボックスをオンにし、[ 次へ ] を選択して選択します。

  7. [ インストール] を選択してインストールを開始します。

  8. デバイスが S モードでWindows 10実行されていて、指定された証明書がデバイスに初めてインストールされた場合は、デバイスを再起動します。

証明書をインストールする

または、Windows Device Portal を使用して証明書をインストールし、他の方法でアプリをインストールすることもできます。

  1. Windowsデバイス ポータルで、[アプリ マネージャー] ページに移動します。

  2. [ アプリの展開 ] セクションで、[ 証明書のインストール] を選択します。

  3. アプリ パッケージの署名に使用する証明書ファイルの選択 (.cer) で、[ ファイルの選択 ] を選択し、サイドロードするアプリ パッケージに関連付けられている証明書を参照します。

  4. [ インストール] を選択してインストールを開始します。

  5. デバイスが S モードでWindows 10実行されていて、指定された証明書がデバイスに初めてインストールされた場合は、デバイスを再起動します。

アプリのアンインストール

  1. アプリが実行されていないことを確認します。
  2. その場合は、[実行中の アプリ ] に移動して閉じます。 アプリの実行中にアンインストールしようとすると、アプリを再インストールしようとしたときに問題が発生します。
  3. ドロップダウンからアプリを選択し、[ 削除] をクリックします。

プロセスの実行

このページには、ホスト デバイスで現在実行されているプロセスの詳細が表示されます。 これには、アプリとシステム プロセスの両方が含まれます。 このページからアプリとシステム プロセスの両方を終了できます。

ファイル エクスプローラー

このページでは、サイドロードされたアプリによって保存されたファイルを表示および操作できます。 エクスプローラー ページでアプリのローカル ストレージを表示し、アプリ データを表示および管理します。

Performance

[パフォーマンス] ページには、電力使用量、フレーム レート、CPU 負荷などのシステム診断情報のリアルタイム グラフが表示されます。

使用可能なメトリックは次のとおりです。

  • CPU: 使用可能な CPU 使用率の合計に対する割合
  • メモリ: 合計メモリ、使用中のメモリ、使用可能なメモリ、コミットされたメモリ、ページ メモリ、非ページ メモリ
  • I/O: データ量の読み取りと書き込み
  • ネットワーク: データの送受信
  • GPU: 使用可能な GPU エンジンの使用率の合計に対する割合

Windows イベント トレーシング (ETW) ログ

ETW ログ ページでは、デバイス上のリアルタイムイベントトレーシングWindows (ETW) 情報が管理されます。

[ プロバイダーを非表示にする] をオンにして、[イベント] リストのみを表示します。

  • 登録済みプロバイダー: イベント プロバイダーとトレース レベルを選択します。 トレース レベルは、次のいずれかの値です。

    1. 異常終了または強制終了
    2. 重大なエラー
    3. Warnings
    4. エラー以外の警告
    5. 詳細なトレース

    [有効にする] をクリックまたはタップしてトレースを開始します。 プロバイダーが [有効なプロバイダー ] ドロップダウンに追加されます。

  • カスタム プロバイダー: カスタム ETW プロバイダーとトレース レベルを選択します。 GUID でプロバイダーを識別します。 GUID には角かっこを含めないでください。

  • 有効なプロバイダー: 有効なプロバイダーが一覧表示されます。 ドロップダウンからプロバイダーを選択し、[ 無効] をクリックまたはタップしてトレースを停止します。 [ すべて停止] をクリックまたはタップして、すべてのトレースを中断します。

  • プロバイダー履歴: 現在のセッション中に有効にされた ETW プロバイダーが表示されます。 無効にされたプロバイダーをアクティブ化するには、[ 有効] をクリックまたはタップします。 [ クリア ] をクリックまたはタップして履歴をクリアします。

  • フィルター/イベント: [イベント ] セクションには、選択したプロバイダーからの ETW イベントがテーブル形式で一覧表示されます。 テーブルはリアルタイムで更新されます。 [フィルター] メニューを使用して、イベントを表示するカスタム フィルターを設定します。 [ クリア ] ボタンをクリックして、テーブルからすべての ETW イベントを削除します。 これにより、プロバイダーは無効になりません。 [ ファイルに保存 ] をクリックすると、現在収集されている ETW イベントをローカル CSV ファイルにエクスポートできます。

パフォーマンス トレース

Windows Performance Toolkit にはパフォーマンス トレース ページが含まれており、ホスト デバイスの Windows Performance Recorder (WPR) トレースを表示できます。

  • 使用可能なプロファイル: ドロップダウンから WPR プロファイルを選択し、[ 開始 ] をクリックまたはタップしてトレースを開始します。
  • カスタム プロファイル: [ 参照 ] をクリックまたはタップして、PC から WPR プロファイルを選択します。 [アップロード] をクリックまたはタップ してトレースを開始 します。

トレースを停止するには、[ 停止] をクリックします。 トレース ファイル (.ETL) のダウンロードが完了するまで、このページを表示したままにしてください。

キャプチャ済み。ETLファイルは、Windows パフォーマンス アナライザーで分析するために開くことができます。

デバイス マネージャー

[デバイス マネージャー] ページには、デバイスに接続されているすべての周辺機器が列挙されます。 設定アイコンをクリックすると、それぞれのプロパティを表示できます。

ネットワーク

[ネットワーク] ページでは、デバイス上のネットワーク接続を管理します。 USB 経由で Device Portal に接続していない限り、これらの設定を変更すると、デバイス ポータルから切断される可能性があります。

  • 使用可能なネットワーク: デバイスで使用可能な WiFi ネットワークが表示されます。 ネットワークをクリックまたはタップすると、ネットワークに接続し、必要に応じてパスキーを指定できます。 Device Portal では、エンタープライズ認証はまだサポートされていません。 [ プロファイル ] ドロップダウンを使用して、デバイスに認識されている任意の WiFi プロファイルへの接続を試みることもできます。
  • IP 構成: ホスト デバイスの各ネットワーク ポートに関するアドレス情報を表示します。

サービスの機能と注意事項

DNS-SD

Device Portal は、DNS-SD を使用してローカル ネットワーク上でそのプレゼンスをアドバタイズします。 デバイス の種類に関係なく、すべての Device Portal インスタンスが "WDP._wdp._tcp.local" でアドバタイズされます。 サービス インスタンスの TXT レコードには、次のものが用意されています。

Key タイプ Description
S int デバイス ポータルのセキュリティで保護されたポート。 0 (ゼロ) の場合、Device Portal は HTTPS 接続をリッスンしていません。
D 文字列 デバイスの種類。 これは "Windows.*" という形式になります。たとえば、Windows.Desktop または Windows.IoTEnterprise です。
A 文字列 デバイス アーキテクチャ。 これは、Arm、x86、または AMD64 になります。
T ヌル文字で区切られた文字列のリスト デバイスにユーザーが適用したタグ。 これを使用する方法については、Tags REST API を参照してください。 リストが double-null で終わる。

すべてのデバイスが、DNS-SD レコードによってアドバタイズされた HTTP ポートでリッスンしているわけではないので、HTTPS ポートでの接続が推奨されます。

CSRF の保護とスクリプト

CSRF 攻撃から保護するには、GET 以外のすべての要求で一意のトークンが必要です。 このトークン (X-CSRF-Token 要求ヘッダー) は、セッション Cookie である CSRF-Token から派生します。 Device Portal Web UI では、CSRF-Token Cookie が各要求の X-CSRF-Token ヘッダーにコピーされます。

Important

この保護により、スタンドアロン クライアント (コマンド ライン ユーティリティなど) から REST API を使用できなくなります。 これは、次の 3 つの方法で解決できます。

  • "auto-" で始まるユーザー名を使用します。 ユーザー名に "auto-" を付加するクライアントは、CSRF 保護をバイパスします。 このユーザー名は、CSRF 攻撃に対するサービスを開くので、ブラウザー経由でデバイス ポータルにログインするために使用されないことが重要です。 例: Device Portal のユーザー名が "admin" の場合は、CSRF 保護をバイパスするために curl -u auto-admin:password <args> を使用する必要があります。
  • クライアントで Cookie からヘッダーへのスキームを実装します。 これには、セッション Cookie を確立するための GET 要求と、後続のすべての要求にヘッダーと Cookie の両方を含める必要があります。
  • 認証を無効にし、HTTP を使用します。 CSRF 保護は HTTPS エンドポイントにのみ適用されるため、HTTP エンドポイント上の接続で上記のいずれかを行う必要はありません。

クロスサイト WebSocket ハイジャック(CSWSH)対策

CSWSH 攻撃から保護するには、デバイス ポータルへの WebSocket 接続を開くすべてのクライアントも、ホスト ヘッダーに一致する Origin ヘッダーを提供する必要があります。 これは、要求が Device Portal UI または有効なクライアント アプリケーションから送信されたことを Device Portal に証明します。 Origin ヘッダーがない場合、要求は拒否されます。

こちらも参照ください

Device Portal コア API リファレンス