株式会社ネットワールドのエンジニアがお届けする技術情報ブログです。
各製品のエキスパートたちが旬なトピックをご紹介します。

AVDでストアアプリを利用する!

はじめに

皆様、こんにちは!
ネットワールド SEの福村です。

突然ですが、AVD(Azure Virtual Desktop)でストアアプリを利用したいと考えたことはないでしょうか?FSLogixを用いたマルチセッションの環境における導入には少し癖があるので整理してお伝えします。

FSLogixの特性

ストアアプリを利用したい場合、AVDのセッションホストにそのままインストールしただけだとセッションホストからサインアウト時に削除されます。
これはセッションホストにインストールしたストアアプリは各ユーザープロファイルに格納されるが、セッションホストからサインアウト時に削除されるという仕様があるためです。
Windows Enterprise マルチセッションに関する FAQ - Azure | Microsoft Learn

この対処方法としては各セッションホストに対して、ストアアプリのプロビジョニングを実施する必要があります。
イメージとしては以下のような流れになります。

ストアアプリのプロビジョニング

  1. ストアアプリのオフラインパッケージをダウンロード

    以下の公開情報の手順に従いインストールしたいストアアプリのオフラインパッケージのダウンロードを実施します。

    https://jpwinsup.github.io/blog/2024/06/10/UserInterfaceAndApps/winget-store-download/

    パッケージIDについてはアプリのURLの末尾の文字列が該当します。

    例:Microsoft Remote Desktop
    URL:https://apps.microsoft.com/detail/9wzdncrfj3ps
    パッケージID:9wzdncrfj3ps

    winget download 9wzdncrfj3ps

    パッケージのダウンロード時、Microsoft Entra ID の認証を求められるので、Microsoft Entra ID テナントへの管理者アクセス権(グローバル管理者等)を持つユーザーで認証を実施します。

    パッケージとライセンスファイルがダウンロードされます。ライセンスファイルの再配布は不可となり、取得した組織外での利用についてはライセンス違反になるので、要注意。

  2. オフラインパッケージを使って各セッションホストにプロビジョニングを実施

    Add-AppxProvisionedPackage (Dism) | Microsoft Learn

    各セッションホストにローカル管理者等のVMの管理者権限を持つユーザーでログインし、以下のコマンドをPowerShellの管理者モードで実施します。

    Add-AppxProvisionedPackage -Online -PackagePath "<ダウンロードしたオフラインパッケージのパス>" -LicensePath "<ダウンロードしたオフラインパッケージに付随するライセンスファイルのパス>"



    以下のコマンドで、対象のストアアプリがプロビジョニングされているか確認します。

    Get-AppxProvisionedPackage -Online | Where-Object DisplayName -like "*アプリ名の一部*"

セッションホストにログインして確認

プロビジョニングを実施したセッションホストにログインしてアプリが利用できるか確認します。
ログインするとアプリの一覧に該当のストアアプリのアイコンが表示されました。

アイコンをクリックすると、アプリケーションを起動することができました!