Azure Virtual Desktop でのアプリ アタッチ アプリケーションの追加と管理

アプリのアタッチを使用すると、アプリケーション パッケージのアプリケーションを Azure Virtual Desktop のユーザー セッションに動的に接続できます。 アプリケーションはセッション ホストまたはイメージにローカルにインストールされないため、セッション ホスト用に作成するカスタム イメージの数が少なくなり、organizationの運用オーバーヘッドとコストが削減されます。 App Attach を使用してアプリケーションを配信すると、リモート セッションでユーザーがアクセスできるアプリケーションをより詳細に制御することもできます。

この記事では、Azure portal と Azure PowerShell を使用して、Azure Virtual Desktop でアプリ アタッチを使用してアプリケーションを追加および管理する方法について説明します。 Azure CLI を使用してアプリ アタッチ アプリケーションを追加または管理することはできません。 開始する前に、「Azure Virtual Desktop でのアプリのアタッチの概要を必ずお読みください。

前提条件

Azure Virtual Desktop でアプリのアタッチを使用するには、次のものが必要です。

  • セッション ホスト、アプリケーション グループ、およびワークスペースを含む既存のホスト プール。

  • セッション ホストは、 サポートされている Windows クライアントまたはサーバー オペレーティング システム を実行し、そのうちの少なくとも 1 つの電源がオンになっている必要があります。 2026 年 4 月 14 日の時点で、Windows Server 2022 および 2025 がサポートされるようになりました。

  • セッション ホストは、Microsoft Entra ID または Active Directory Domain Services (AD DS) ドメインに参加している必要があります。

  • セッション ホストと同じ Azure リージョン内の SMB ファイル共有。 ホスト プール内のすべてのセッション ホストには、コンピューター アカウントによる 読み取り アクセス権が必要です。 このファイル共有は、アプリケーション イメージを格納するために使用されます。 ファイル共有の要件の詳細については、「 ファイル共有」を参照してください。

  • アプリ アタッチ パッケージは、作成したホスト プールからデプロイ スコープを継承します。 デプロイ スコープがリージョンのホスト プール用に作成されたパッケージは、同じ Azure リージョン内の同じデプロイ スコープを持つホスト プールにのみ割り当てることができ、地理的なホスト プールに割り当てることはできません。 パッケージの作成後は、パッケージの配置範囲を変更することはできません。

  • セッション ホストが Microsoft Entra ID に参加したときに Azure Files を使用するには、閲覧者とデータ アクセスの Azure ロールベースのアクセス制御 (RBAC) ロールを、Azure Virtual Desktop と Azure Virtual Desktop ARM プロバイダーの両方のサービス プリンシパルに割り当てる必要があります。 この RBAC ロールの割り当てにより、セッション ホストはアクセス キーまたは Microsoft Entra を使用してストレージ アカウントにアクセスできます。 ストレージ アカウントは、セッション ホストに使用する VM と同じサブスクリプションに存在する必要があります。

  • Azure Virtual Desktop サービス プリンシパルに Azure RBAC ロールを割り当てる方法については、「Azure Virtual Desktop サービス プリンシパルに RBAC ロールを割り当てる」を参照してください。 今後の更新プログラムでは、Azure Virtual Desktop ARM プロバイダー サービス プリンシパルを割り当てる必要はなくなります。

  • ファイル共有に保存されているアプリケーション パッケージまたは App-V パッケージから作成した MSIX または Appx ディスク イメージ。 詳細については、「 イメージの作成」を参照してください。ここでは、テスト用に事前構築済みの MSIX パッケージをダウンロードすることもできます。 App-V を使用している場合は、「 App-V 仮想化アプリケーションの作成と管理」を参照してください。

  • MSIX イメージを追加するには、少なくともリソース グループに割り当てられている Desktop Virtualization 共同作成者 の Azure ロールベースのアクセス制御 (RBAC) ロールが必要です。 ユーザーをアプリケーション グループに割り当てるには、アプリケーション グループに対する Microsoft.Authorization/roleAssignments/write アクセス許可も必要です。 このアクセス許可を含む組み込みの RBAC ロールは、ユーザー アクセス管理者と所有者です。

  • Azure PowerShell をローカルで使用する場合は、「Azure Virtual Desktop で Azure PowerShell を使用する」を参照して、Az.DesktopVirtualization および Microsoft Graph PowerShell モジュールがインストールされていることを確認してください。 または、Azure Cloud Shellを使用します。

  • アプリのアタッチをサポートするコマンドレットを含む、バージョン 4.2.1 以降の Az.DesktopVirtualization PowerShell モジュールを使用する必要があります。 PowerShell ギャラリーから Az.DesktopVirtualization PowerShell モジュールをダウンロードしてインストールできます。

重要

  • すべての MSIX および Appx アプリケーション パッケージには証明書が含まれています。 証明書が環境内で信頼されていることを確認する責任があります。 自己署名証明書は、適切な信頼チェーンでサポートされます。

アプリケーションを追加する

MSIX イメージ、Appx イメージ、または App-V パッケージ内のアプリケーションをアプリ接続パッケージとして Azure Virtual Desktop に追加するには、シナリオに関連するタブを選択し、手順に従います。

Azure portal を使用して、MSIX イメージ、Appx イメージ、または App-V パッケージをアプリ アタッチ パッケージとして追加する方法を次に示します。

  1. Azure portal にサインインし

  2. 検索バーに「Azure Virtual Desktop」と入力し、一致するサービス エントリを選択して、Azure Virtual Desktop の概要に移動します。

  3. [ アプリのアタッチ] を選択してから、[ + 作成] を選択します。

  4. [ 基本 ] タブで、次の情報を入力します。

    パラメーター 説明
    サブスクリプション MSIX イメージ、Appx イメージ、または App-V パッケージを追加するサブスクリプションをドロップダウン リストから選択します。
    リソース グループ 既存のリソース グループを選択するか、 新規作成 を選択して名前を入力します。
    ホスト プール ドロップダウン リストから既存のホスト プールを選択します。
    場所 アプリのアタッチ パッケージの Azure リージョンを選択します。 パッケージのデプロイ スコープは、選択したホスト プールから継承されます。デプロイ スコープが [リージョン] のホスト プールの場合は、場所がホスト プールの Azure リージョンと一致する必要があります。

    このタブを完了したら、[ 次へ] を選択します。

  5. [ イメージ パス ] タブで、次の情報を入力します。

    パラメーター 説明
    画像パス Select from ストレージ アカウント if your image is stored in Azure Files or Input UNC to specify a UNC path. それ以降のフィールドは、選択したオプションによって異なります。
    ストレージ アカウントから選択する
    ストレージ アカウント イメージが含まれているストレージ アカウントを選択します。
    ファイル共有 [ ファイルの選択] を選択し、画像が存在するファイル共有とディレクトリを参照します。 追加する画像の横にあるチェック ボックス (例: MyApp.cim) をオンにして、[ 選択] を選択します。
    MSIX パッケージ イメージから MSIX または Appx パッケージを選択します。
    入力 UNC
    UNC 画像ファイルへの UNC パスを入力します。
    MSIX パッケージ イメージから MSIX または Appx パッケージを選択します。
    いずれかのオプション
    表示名 アプリケーションのフレンドリ名を入力します。
    バージョン 想定されているバージョン番号が表示されていることを確認します。
    登録タイプ 使用する 登録の種類 を選択します。
    状態 パッケージの初期 状態 を選択します。
    失敗時の正常性チェックの状態 セッション ホストでのステージングに失敗した場合は、パッケージのステータスを選択します。 この状態は、セッション ホストの正常性チェック状態の AppAttachHealthCheck に対して報告されます。

    このタブを完了したら、[ 次へ] を選択します。

    ヒント

    このタブを完了したら、引き続き必要に応じて、アプリケーションをホスト プール、ユーザー、およびグループに割り当てることができます。 または、割り当てを個別に構成する場合は、[ レビュー + 作成] を選択し、[ アプリ接続パッケージの割り当て] に移動します。

  6. オプション: [ 割り当て] タブで、次の情報を入力します。

    1. [ ホスト プール] で、アプリケーションを割り当てるホスト プールを選択します。

    2. [ ユーザーまたはユーザー グループの追加] を選択し、アプリケーションを割り当てるユーザーまたはグループを検索して選択します。 完了したら、[ 選択] を選択します。

    3. 追加した割り当てを確認し、[ 次へ] を選択します。

  7. オプション: [タグ] タブで、必要な名前と値のペアを入力し、[確認 + 作成] を選択できます。

  8. [ レビュー + 作成 ] タブで、検証に合格したことを確認し、展開時に使用される情報を確認してから、 [ 作成 ] を選択してアプリケーションを追加します。

アプリ アタッチ パッケージの割り当て

アプリケーション アタッチ パッケージを、グループとユーザーだけでなく、ホスト プールにも割り当てる必要があります。 シナリオに関連するタブを選択し、手順に従います。

注:

ユーザー アカウントはハイブリッド アカウント (AD DS で作成され、Azure AD と同期) である必要がありますが、グループはそうではありません。

Azure portal を使用して、ホスト プール、ユーザー、グループにアプリケーション パッケージを割り当てる方法は次のとおりです。

ホスト プール

  1. Azure Virtual Desktop の概要から、[アプリのアタッチ] を選択し、割り当てるアプリアタッチ パッケージの名前を選択します。

  2. [ 管理] セクションで、[ ホスト プール] を選択します。

  3. [ + 割り当て] を選択し、ドロップダウン リストから 1 つ以上のホスト プールを選択します。 前提条件に記載されているように、ホスト プール内のすべてのセッション ホストに、コンピューター アカウントによる 読み取り アクセス権が必要であることを確認します。
    パッケージは、同じ配置スコープを持つホスト プールにのみ割り当てることができ、配置スコープが異なるホスト プールは一覧で灰色表示されます。

  4. [追加] を選択します。

グループとユーザー

  1. Azure Virtual Desktop の概要から、[アプリのアタッチ] を選択し、割り当てるアプリアタッチ パッケージの名前を選択します。

  2. [ 管理] セクションで、[ ユーザー] を選択します。

  3. [ + 追加] を選択し、一覧から 1 つ以上のグループやユーザーを選択します。

  4. [ 選択] を選択します。

注:

パッケージを追加してアクティブに設定し、ホスト プールとユーザーに割り当てると、デスクトップ セッションでアプリケーションが自動的に利用可能になります。 RemoteApp を使用する場合は、アプリケーションを RemoteApp アプリケーション グループに追加する必要があります。 詳細については、「 RemoteApp アプリケーション グループを使用して MSIX アプリケーションまたは Appx アプリケーションを公開する」を参照してください。 アプリのアタッチを使用して MSIX または Appx アプリケーションをデスクトップ アプリケーション グループに追加することはできません。

登録の種類と状態の変更

MSIX パッケージと Appx パッケージは、 登録の種類 と 状態を変更することで管理できます。 シナリオに関連するタブを選択し、手順に従います。

Azure portal を使用してパッケージの登録の種類と状態を変更する方法は次のとおりです。

  1. [Azure Virtual Desktop の概要] から、[アプリのアタッチ] を選択します。 ホスト プール内のすべての既存のパッケージの一覧が表示されます。

  2. 変更するパッケージの名前を選択します。

    1. 登録の種類を変更するには、[ オンデマンド] または [ログオン時に登録] を選択し、[ 保存] を選択します。

    2. 状態を変更するには、[非アクティブ] または [アクティブ] を選択し、[保存] を選択します。

MSIX アプリケーションまたは Appx アプリケーションを RemoteApp アプリケーション グループで公開する

MSIX アプリケーションと Appx アプリケーションを RemoteApp アプリケーション グループで公開することで、ユーザーがそれらを使用できるようにすることができます。 アプリ アタッチを使用する場合は、 アプリ アタッチ パッケージを割り当てるだけでよいため、デスクトップ アプリケーション グループにアプリケーションを追加する必要はありません。 公開するアプリケーションをホスト プールに割り当てる必要があります。

この記事で追加したパッケージから Azure portal を使用して RemoteApp アプリケーション グループにアプリケーションを追加する方法は次のとおりです。

  1. Azure Virtual Desktop の概要から、アプリケーション グループを選択し、アプリケーションを追加する RemoteApp アプリケーション グループを選択します。

  2. [ アプリケーション]、[ + 追加] の順に選択します。 アプリケーション グループが割り当てられているホスト プールで、少なくとも 1 つのセッション ホストが電源オンになっていることを確認します。

  3. [ 基本 ] タブで、次の情報を入力します。

    パラメーター 値/説明
    アプリケーション ソース ドロップダウン リストから [アプリのアタッチ] を選択します。 [スタート] メニューから、またはファイル パスを指定してアプリケーションを追加する場合は、「RemoteApp を使用してアプリケーションを公開する」を参照してください。
    パッケージ ドロップダウン リストからホスト プールで使用できるパッケージを選択します。 地域のパッケージは、 アプリのアタッチから取得されます。
    アプリケーション ドロップダウン リストからアプリケーションを選択します。
    アプリケーション識別子 アプリケーションの一意の識別子を入力します。
    表示名 ユーザーに伝えるアプリケーションのフレンドリ名を入力します。
    説明 アプリケーションの説明を入力します。

    このタブを完了したら、[ 次へ] を選択します。

  4. [ アイコン] タブで、[ 既定] を選択してアプリケーションの既定のアイコンを使用するか、[ ファイル パス ] を選択してカスタム アイコンを使用します。 [ファイル パス] で、次のいずれかのオプションを選択します。

    • Azure ファイル共有のアイコンを使用するには、Azure Files を参照します。 [ ストレージ アカウントの選択] を選択し、アイコン ファイルを含むストレージ アカウントを選択してから、[ アイコン ファイルの選択] を選択します。 アイコンが存在するファイル共有とディレクトリを参照し、追加するアイコンの横のボックス (MyApp.icoなど) チェック、[選択] を選択します。 .png ファイルを使用することもできます。 [ アイコン インデックス] で、使用するアイコンのインデックス番号を指定します。 通常、この数値は 0 です。

    • ファイル共有のアイコンを使用する UNC ファイル パス。 [ アイコン パス] に、アイコン ファイルへの UNC パス (例: \\MyFileShare\MyApp.ico) を入力します。 .png ファイルを使用することもできます。 [ アイコン インデックス] で、使用するアイコンのインデックス番号を指定します。 通常、この数値は 0 です。

    このタブが完了したら、[ レビュー + 追加] を選択します。

  5. [ レビュー + 追加 ] タブで、検証に合格したことを確認し、アプリケーションの追加に使用された情報を確認してから、[ 追加 ] を選択してアプリケーションを RemoteApp アプリケーション グループに追加します。

既存のパッケージを更新する

新しい MSIX イメージ、Appx イメージ、または更新されたアプリケーションを含む App-V パッケージを指定することで、既存のパッケージを更新できます。 詳細については、「 アプリケーションの新しいバージョン」を参照してください。

既存のパッケージをインプレースで更新するには、シナリオに関連するタブを選択し、手順に従います。

Azure portal を使用して既存のパッケージを更新する方法は次のとおりです。

  1. [Azure Virtual Desktop の概要] から、[アプリのアタッチ] を選択します。 既存のすべてのパッケージの一覧が表示されます。

  2. 更新するパッケージを選択し、概要から [ 更新] を選択します。

  3. 更新されたパッケージの情報を入力します。

    1. サブスクリプション と リソース グループ には、現在のパッケージの値が事前に設定されています。

    2. パッケージを更新する ホスト プール を選択します。

    3. [ストレージ アカウントまたは入力 UNCから選択] からイメージ パスを選択します。 それ以降のフィールドは、選択したオプションによって異なります。

      1. [ ストレージ アカウントから選択] で、更新されたイメージを含む ストレージ アカウント を選択します。 [ ファイルの選択] を選択し、画像が存在するファイル共有とディレクトリを参照します。 追加する画像の横にあるチェック ボックス (例: MyApp.cim) をオンにして、[ 選択] を選択します。
      2. [ 入力 UNC] に、画像ファイルへの UNC パスを入力します。
    4. MSIX パッケージの場合は、イメージから MSIX または Appx パッケージを選択します。

  4. フィールドに入力したら、[ 更新] を選択します。

アプリのアタッチ パッケージを削除する

不要になったアプリ アタッチ パッケージを削除できます。 最初にホスト プールまたはユーザーとグループの割り当てを解除する必要はありません。 シナリオに関連するタブを選択し、手順に従います。

ヒント

また、RemoteApp として公開されている MSIX パッケージ内のアプリケーションは、他の種類のアプリケーションと同じ方法でアプリケーション グループから削除することもできます。 詳細については、「 アプリケーションの削除」を参照してください。

Azure portal を使用してアプリ接続パッケージを削除する方法は次のとおりです。

  1. [Azure Virtual Desktop の概要] から、[アプリのアタッチ] を選択します。 既存のすべてのパッケージの一覧が表示されます。

  2. 削除するパッケージの名前の横にあるチェック ボックスをオンにして、[ 削除] を選択します。 また、パッケージは割り当てられているすべてのホスト プールから削除されます。

自動更新を無効にする

MSIX および Appx アプリケーションの自動更新を無効にすることをお勧めします。 自動更新を無効にするには、セッション ホストで次のレジストリ値を設定する必要があります。

  • キー: HKLM\Software\Policies\Microsoft\WindowsStore

    • 型: DWORD
    • 名前: AutoDownload
    • 値: 2
    • 説明: Microsoft Store 自動更新を無効にします。
  • キー: HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager

    • 型: DWORD
    • 名前: PreInstalledAppsEnabled
    • "Value/値": 0
    • 説明: コンテンツ配信の自動ダウンロードを無効にします。
  • キー: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug

    • 型: DWORD
    • 名前: ContentDeliveryAllowedOverride
    • 値: 2
    • 説明: コンテンツ配信の自動ダウンロードを無効にします。

これらのレジストリ値は、セッション ホストの管理方法に応じて、グループ ポリシーまたは Intune を使用して設定できます。 各セッション ホストで管理者として次の PowerShell コマンドを実行して設定することもできますが、これを行う場合は、オペレーティング システム イメージでも設定する必要があります。

# Disable Microsoft Store automatic update
If (!(Test-Path "HKLM:\Software\Policies\Microsoft\WindowsStore")) {
    New-Item -Path "HKLM:\Software\Policies\Microsoft\WindowsStore" -Force
}
New-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\WindowsStore" -Name AutoDownload -PropertyType DWORD -Value 2 -Force

# Disable content delivery automatic download
If (!(Test-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager")) {
    New-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Force
}
New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" -Name PreInstalledAppsEnabled -PropertyType DWORD -Value 0 -Force

# Disables content delivery automatic download
If (!(Test-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug")) {
    New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug" -Force
}
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug" -Name ContentDeliveryAllowedOverride -PropertyType DWORD -Value 2 -Force

次の手順

RemoteApp を使用してスタート メニューまたはファイル パスからアプリケーションを公開する方法について説明します。 詳細については、「 アプリケーションの公開」を参照してください。