ラボ - Azure Virtual Desktop アプリケーション (AD DS) のパッケージ化

受講生用ラボ マニュアル

ラボの依存関係

  • Azure サブスクリプション
  • Azure サブスクリプションに関連付けられた Microsoft Entra テナントの全体管理者ロールと、Azure サブスクリプションの所有者または共同作成者ロールを持つ Microsoft アカウントまたは Microsoft Entra アカウント
  • 完了したラボ: Azure Virtual Desktop (AD DS) のデプロイを準備する
  • 実施したラボ「AVD (AD DS) に対する条件付きアクセス ポリシーを構成する
  • 実施したラボ「AVD (AD DS) プロファイルを実装および管理する

推定所要時間

60 分

ラボのシナリオ

Active Directory Domain Services (AD DS) 環境で Azure Virtual Desktop アプリケーションをパッケージ化してデプロイする必要があります。

目標

このラボを完了すると、次のことができるようになります。

  • MSIX アプリ パッケージを準備して作成する
  • AD DS 環境に Azure Virtual Desktop 用 MSIX アプリのアタッチ イメージを実装する
  • AD DS 環境の Azure Virtual Desktop に MSIX アプリのアタッチを実装する

ラボ ファイル

  • \\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.json
  • \\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.parameters.json

手順

重要: Microsoft は、Azure Active Directory (Azure AD) の名称を Microsoft Entra ID に変更しました。 この変更の詳細については、「Azure Active Directory の新しい名前」を参照してください。 これは現在進行中の取り組みであるため、個々の演習を進めるときに、ラボの指示とインターフェイスの要素間にまだ不一致が残っている可能性があります。 この点を念頭に置いてください (特に、このラボでは、Microsoft Entra ConnectAzure Active Directory Connect の新しい名称です)。

演習 1: MSIX アプリ パッケージの準備と作成

この演習の主なタスクは次のとおりです。

  1. Azure Virtual Desktop セッション ホストの構成を準備する
  2. Azure Resource Manager クイックスタート テンプレートを使用して Windows 10 を実行する Azure VM をデプロイする
  3. MSIX パッケージ用に Windows 10 を実行している Azure VM を準備する
  4. 署名証明書を生成する
  5. パッケージにソフトウェアをダウンロードする
  6. MSIX パッケージ作成ツールをインストールする
  7. MSIX パッケージを作成する

タスク 1: Azure Virtual Desktop セッション ホストの構成を準備する

  1. ラボのコンピューターから Web ブラウザーを起動し、Azure portal に移動して、このラボで使用しているサブスクリプションで所有者のロールがあるユーザー アカウントの資格情報を指定してサインインします。
  2. ラボのコンピューターで、Azure portal を表示している Web ブラウザー ウィンドウで、[Cloud Shell] ペイン内の PowerShell シェル セッションを開きます。
  3. [Cloud Shell] ペインの [PowerShell] セッションから、次を実行して、このラボで使用する Azure VM をホストする Azure Virtual Desktop セッションを開始します。

    Get-AzVM -ResourceGroup 'az140-21-RG' | Start-AzVM -NoWait
    

    : このコマンドは非同期で実行されるため (-NoWait パラメーターによって決定されます)、同じ PowerShell セッション内で直後に別の PowerShell コマンドを実行できますが、Azure VM が実際に開始されるまでには数分かかります。

    : 前のラボの最初のタスク (AVD プロファイルの実装と管理) において az140-21-RG リソース グループのセッション ホストで PSRemoting を有効にした場合は、Azure VM の起動を待たずに次のタスクに直接進むことができます。 az140-21-RG リソース グループのセッション ホストで PSRemoting を以前に有効にしていない場合は、VM が起動するのを待ってから、次のコマンドを実行します。

  4. Cloud Shell の PowerShell セッションから、次を実行して、セッション ホストで PowerShell リモート処理を有効にします。

    Get-AzVM -ResourceGroup 'az140-21-RG' | Enable-AzVMPSRemoting
    

タスク 2: Azure Resource Manager クイックスタート テンプレートを使用して Windows 10 を実行する Azure VM をデプロイする

  1. ラボ コンピューターから、Azure portal を表示している Web ブラウザー ウィンドウの Cloud Shell ペインのツールバーで、[ファイルのアップロード/ダウンロード] アイコンを選択し、ドロップダウン メニューで [アップロード] を選択し、\\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.json ファイルと \\AZ-140\AllFiles\Labs\04\az140-42_azuredeploycl42.parameters.json ファイルを Cloud Shell ホーム ディレクトリにアップロードします。
  2. [Cloud Shell] ペインの [PowerShell] セッションから、次を実行して、MSIX パッケージの作成に使用する Windows 10 を実行する Azure VM をデプロイし、Microsoft Entra DS ドメインに参加します。

    $vNetResourceGroupName = 'az140-11-RG'
    $location = (Get-AzResourceGroup -ResourceGroupName $vNetResourceGroupName).Location
    $resourceGroupName = 'az140-42-RG'
    New-AzResourceGroup -ResourceGroupName $resourceGroupName -Location $location
    New-AzResourceGroupDeployment `
      -ResourceGroupName $resourceGroupName `
      -Location $location `
      -Name az140lab0402vmDeployment `
      -TemplateFile $HOME/az140-42_azuredeploycl42.json `
      -TemplateParameterFile $HOME/az140-42_azuredeploycl42.parameters.json
    

    : デプロイが完了するまで待ってから、次のタスクに進んでください。 これには 10 分ほどかかる場合があります。

タスク 3: MSIX パッケージ化のために Windows 10 を実行している Azure VM を準備する

  1. ラボ コンピューターの Azure portal で、「仮想マシン」を検索して選択し、[仮想マシン] ウィンドウの仮想マシンの一覧で [az140-cl-vm42] エントリを選択します。 これにより、[az140-cl-vm42] ウィンドウが開きます。
  2. az140-cl-vm42 ブレードで [接続] を選択し、ドロップダウン メニューで [Bastion 経由で接続する] を選択します。
  3. プロンプトが表示されたら、wvdadmin1@adatum.com のユーザー名と、このユーザー アカウントを作成したときに設定したパスワードを使用してサインインします。
  4. az140-cl-vm42 への Bastion セッション内で、Windows PowerShell ISE を管理者として起動します。[Administrator: Windows PowerShell ISE] コンソールから、次を実行して、MSIX パッケージ化のオペレーティング システムを準備します。

    Schtasks /Change /Tn "\Microsoft\Windows\WindowsUpdate\Scheduled Start" /Disable
    reg add HKLM\Software\Policies\Microsoft\WindowsStore /v AutoDownload /t REG_DWORD /d 0 /f
    reg add HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager /v PreInstalledAppsEnabled /t REG_DWORD /d 0 /f
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug /v ContentDeliveryAllowedOverride /t REG_DWORD /d 0x2 /f
    reg add HKLM\Software\Microsoft\RDInfraAgent\MSIXAppAttach /v PackageListCheckIntervalMinutes /t REG_DWORD /d 1 /f
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
    

    : これらのレジストリの最後の変更は、ユーザー アクセス制御を無効にします。 これは技術的には必要ありませんが、このラボに示されているプロセスが簡略化されます。

タスク 4: 署名証明書を生成する

: この実習ラボでは、自己署名証明書を使用します。 運用環境では、使用目的に応じて、パブリック証明機関または内部証明機関によって発行された証明書を使用する必要があります。

  1. az140-cl-vm42 への Bastion セッション内で、[Administrator: Windows PowerShell ISE] コンソールから、以下を実行して、共通名属性を Adatum に設定した自己署名証明書を生成し、ローカル マシン証明書ストアの個人用フォルダーに証明書を保存します。

    New-SelfSignedCertificate -Type Custom -Subject "CN=Adatum" -KeyUsage DigitalSignature -KeyAlgorithm RSA -KeyLength 2048 -CertStoreLocation "cert:\LocalMachine\My"
    
  2. [Administrator: Windows PowerShell ISE] コンソールから以下を実行して、ローカル マシン証明書ストアを対象とする [証明書] コンソールを起動します。

    certlm.msc
    
  3. [証明書] コンソール ペインで、[個人用] フォルダーを展開し、[証明書] サブフォルダーを選択し、Adatum 証明書を右クリックし、右クリック メニューで [すべてのタスク] の後に [エクスポート] を選択します。 これで、証明書のエクスポート ウィザードが起動します。
  4. 証明書のエクスポート ウィザード「証明書のエクスポート ウィザードへようこそ」 ページで、[次へ] を選択します。
  5. 証明書のエクスポート ウィザード「秘密キーをエクスポートする」 ページで、[はい、秘密キーをエクスポートします] オプションを選択し、[次へ] を選択します。
  6. 証明書のエクスポート ウィザード「ファイル形式のエクスポート」 ページで、[すべての拡張プロパティをエクスポートする] チェックボックスを選択し、[証明書のプライバシーを有効にする] チェックボックスをオフにして、[次へ] を選択します。
  7. [証明書エクスポート] ウィザードの [セキュリティ] ページで、[パスワード] チェックボックスをオンにし、下のテキストボックスに「Pa55w.rd1234」と入力して、[次へ] を選択します。
  8. [証明書エクスポート] ウィザードの [エクスポートするファイル] ページの [ファイル名] テキストボックスで [参照] を選択し、[名前を付けて保存] ダイアログ ボックスで C:\Allfiles\Labs\04 フォルダーに移動し (最初にフォルダーを作成します)、[ファイル名] テキストボックスに「adatum.pfx」と入力し、[保存] を選択します。
  9. [証明書エクスポート] ウィザードの [エクスポートするファイル] ページに戻り、テキストボックスにエントリ “C:\Allfiles\Labs\04\adatum.pfx” が含まれていることを確認して、[次へ] を選択します。
  10. 証明書のエクスポート ウィザード「証明書のエクスポート ウィザードの完了」 ページで、[完了] を選択し、[OK] を選択してエクスポートが成功したことを確認します。

    : 自己署名証明書を使用しているため、ターゲット セッション ホストの信頼されたユーザー証明書ストアにインストールする必要があります。

  11. [Administrator: Windows PowerShell ISE] コンソールから以下を実行して、新しく生成された証明書をターゲット セッション ホストの信頼できるユーザー証明書ストアにインストールします。

    $wvdhosts = 'az140-21-p1-0','az140-21-p1-1','az140-21-p1-2'
    $cleartextPassword = 'Pa55w.rd1234'
    $securePassword = ConvertTo-SecureString $cleartextPassword -AsPlainText -Force
    $localPath = 'C:\Allfiles\Labs\04'
    ForEach ($wvdhost in $wvdhosts){
       $remotePath = "\\$wvdhost\C$\Allfiles\Labs\04\"
       New-Item -ItemType Directory -Path $remotePath -Force
       Copy-Item -Path "$localPath\adatum.pfx" -Destination $remotePath -Force
       Invoke-Command -ComputerName $wvdhost -ScriptBlock {
          Import-PFXCertificate -CertStoreLocation Cert:\LocalMachine\TrustedPeople -FilePath 'C:\Allfiles\Labs\04\adatum.pfx' -Password $using:securePassword
       } 
    }
    

タスク 5: パッケージにソフトウェアをダウンロードする

  1. az140-cl-vm42 への Bastion セッション内で、Microsoft Edge を起動し、https://github.com/microsoft/XmlNotepad を参照します。
  2. [microsoft/XmlNotepad readme.md] ページで、ダウンロード可能なスタンドアロン インストーラーのダウンロード リンクを選択し、圧縮されたインストール ファイルをダウンロードします。
  3. az140-cl-vm42 への Bastion セッション内で、ファイル エクスプローラーを起動し、ダウンロード フォルダーに移動し、圧縮ファイルを開き、圧縮ファイル内のフォルダー内のコンテンツをコピーして、C:\AllFiles\Labs\04\ ディレクトリに貼り付けます。

タスク 6: MSIX パッケージ ツールをインストールする

  1. az140-cl-vm42 への Bastion セッション内で、Microsoft Store アプリを起動します。
  2. Microsoft Store アプリで、「MSIX Packaging Tool」 を検索して選択し、「MSIX Packaging Tool」 ページで [取得] を選択します。
  3. プロンプトが表示されたら、サインインをスキップし、インストールが完了するのを待ち、[起動] を選択し、[診断データの送信] ダイアログ ボックスで [拒否] を選択します。

タスク 7: MSIX パッケージを作成する

  1. az140-cl-vm42 への Bastion セッション内で、[Administrator: Windows PowerShell ISE] ウィンドウに切り替え、[Administrator: Windows PowerShell ISE] スクリプト ペインから次を実行して Windows Search サービスを無効にします。

    $serviceName = 'wsearch'
    Set-Service -Name $serviceName -StartupType Disabled
    Stop-Service -Name $serviceName
    
  2. az140-cl-vm42 への Bastion セッション内で、Administrator: Windows PowerShell ISE コンソールから次を実行して、MSIX パッケージをホストするフォルダーを作成します。

    New-Item -ItemType Directory -Path 'C:\AllFiles\Labs\04\XmlNotepad' -Force
    
  3. az140-cl-vm42 への Bastion セッション内で、Administrator: Windows PowerShell ISE コンソールから以下を実行して、抽出されたインストーラー ファイルから Zone.Identifier 代替データ ストリームを削除します。これには、インターネットからダウンロードされたことを示す値 “3” が含まれています。

    Get-ChildItem -Path 'C:\AllFiles\Labs\04' -Recurse -File | Unblock-File
    
  4. az140-cl-vm42 への Bastion セッション内で、MSIX Packaging Tool インターフェイスに切り替え、「タスクの選択」 ページで [アプリケーション パッケージ - アプリ パッケージ エントリの作成] を選択します。 これにより、[新しいパッケージの作成] ウィザードが開始されます。
  5. [新しいパッケージの作成] ウィザードの [環境の選択] ページで、[このコンピューターにパッケージを作成する] オプションが選択されていることを確認し、[次へ] を選択して、MSIX パッケージ作成ツールドライバーのインストールを待ちます。

    :MSIX パッケージ作成ツール ドライバーのインストールには 5 から 10 分かかります。 状態列は、最初は [確認中] と表示され、インストールされたら [インストール済み] と表示されます。

  6. [新しいパッケージの作成] ウィザードの 「コンピューターの準備」 ページで、推奨事項を確認します。 再起動が保留中の場合は、オペレーティング システムを再起動し、wvdadmin1@adatum.com アカウントを使用してサインインし直し、続行する前に MSIX パッケージ ツールを再起動します。

    : MSIX Packaging Tool では、Windows Update と Windows Search が一時的に無効になります。 この場合、Windows Search サービスは既に無効になっています。

  7. [新しいパッケージの作成] ウィザードの 「コンピューターの準備」 ページで、[次へ] をクリックします。
  8. [新しいパッケージの作成] ウィザードの [インストーラーの選択] ページで、[パッケージ化するインストーラーの選択] テキスト ボックスの横にある [参照] を選択し、[開く] ダイアログ ボックスで C:\AllFiles\Labs\04 フォルダーを参照し、XmlNotepadSetup.msi を選択して、[開く] をクリックします。
  9. [新しいパッケージの作成] ウィザードの [インストーラーの選択] ページの [署名の設定] ドロップダウン リストで、[証明書 (.pfx) を使用して署名する] エントリを選択し、[証明書の参照] テキストボックスの横にある [参照] を選択して、[開く] ダイアログ ボックスで、C:\AllFiles\Labs\04 フォルダーに移動し、adatum.pfx ファイルを選択して、[開く] をクリックし、[パスワード] テキスト ボックスに 「Pa55w.rd1234」と入力して、[次へ] を選択します。
  10. [新しいパッケージの作成] ウィザードの 「パッケージ情報」 ページで、パッケージ情報を確認し、発行元名が CN=Adatum に設定されていることを確認して、[次へ] を選択します。
  11. [パッケージに適用するためのアクセラレータの選択] ページで、[次へ] を選択します。 これにより、ダウンロードしたソフトウェアのインストールがトリガーされます。
  12. [XML Notepad セットアップ] ウィンドウで、使用許諾契約の条項に同意して [インストール] を選択し、インストールが完了したら、[完了] を選択します。
  13. [新しいパッケージの作成] ウィザードの [インストール] ページで、[次へ] を選択します。
  14. [新しいパッケージの作成] ウィザードの [最初の起動タスクの管理] ページで、提供された情報を確認し、[次へ] を選択します。
  15. 完了しましたか?” というプロンプトが表示されたら、[はい、次に進む] を選択します。
  16. [新しいパッケージの作成] ウィザードの 「サービス レポート」 ページで、サービスが一覧に表示されていないことを確認し、[次へ] を選択します。
  17. [新しいパッケージの作成] ウィザードの [パッケージの作成] ページの [保存場所] テキストボックスに、「C:\Allfiles\Labs\04\XmlNotepad\XmlNotepad.msix」と入力し、[作成] をクリックします。
  18. [パッケージが正常に作成されました] ダイアログ ボックスで、保存したパッケージの場所を書き留め、[閉じる] を選択します。
  19. ファイル エクスプローラー ウィンドウに切り替え、C:\Allfiles\Labs\04\XmlNotepad フォルダーに移動し、*.msix ファイルと *.xml ファイルが含まれていることを確認します。
  20. XmlNotepad.msix ファイルを C:\Allfiles\Labs\04 フォルダーにコピーします。

演習 2:AD DS 環境に Azure Virtual Desktop 用 MSIX アプリのアタッチ イメージを実装する

この演習の主なタスクは次のとおりです。

  1. Window 11 Enterprise マルチセッションを実行している Azure VM で Hyper-V を有効にする
  2. MSIX アプリ アタッチ イメージを作成する

タスク 1:Window 11 Enterprise マルチセッションを実行している Azure VM で Hyper-V を有効にする

  1. az140-cl-vm42 への Bastion セッション内で、Administrator: Windows PowerShell ISE コンソールから、以下を実行して、MSIX アプリ アタッチ用のターゲット Azure Virtual Desktop ホストを準備します。

    $wvdhosts = 'az140-21-p1-0','az140-21-p1-1','az140-21-p1-2'
    ForEach ($wvdhost in $wvdhosts){
       Invoke-Command -ComputerName $wvdhost -ScriptBlock {
          Schtasks /Change /Tn "\Microsoft\Windows\WindowsUpdate\Scheduled Start" /Disable
          reg add HKLM\Software\Policies\Microsoft\WindowsStore /v AutoDownload /t REG_DWORD /d 0 /f
          reg add HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager /v PreInstalledAppsEnabled /t REG_DWORD /d 0 /f
          reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager\Debug /v ContentDeliveryAllowedOverride /t REG_DWORD /d 0x2 /f
          reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
          reg add HKLM\Software\Microsoft\RDInfraAgent\MSIXAppAttach /v PackageListCheckIntervalMinutes /t REG_DWORD /d 1 /f
          Set-Service -Name wuauserv -StartupType Disabled
       }
    }
    
  2. az140-cl-vm42 への Bastion セッション内で、Administrator: Windows PowerShell ISE コンソールで以下を実行し、Azure Virtual Desktop ホストに Hyper-V PowerShell モジュールを含む Hyper-V とその管理ツールをインストールします。

    $wvdhosts = 'az140-21-p1-0','az140-21-p1-1','az140-21-p1-2'
    ForEach ($wvdhost in $wvdhosts){
       Invoke-Command -ComputerName $wvdhost -ScriptBlock {
          Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
       }
    }
    
  3. ターゲット オペレーティング システムを起動するかどうかを尋ねられたら、[はい] を選択します。
  4. az140-cl-vm42 への Bastion セッション内で、Administrator: Windows PowerShell ISE コンソールで以下を実行し、Hyper-V PowerShell モジュールを含む Hyper-V とその管理ツールをローカル コンピューターにインストールします。

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
    
  5. Hyper-V コンポーネントのインストールが完了したら、[はい] を選択してオペレーティング システムを再起動します。 再起動後、このユーザー アカウントの作成時に設定した wvdadmin1@adatum.com のユーザー名とパスワードでサインインし直します。

タスク 2: MSIX アプリ アタッチ イメージを作成する

  1. az140-cl-vm42 への Bastion セッション内で、Microsoft Edge を起動し、https://aka.ms/msixmgr を参照します。 これにより、msixmgr.zip ファイル (MSIX mgr ツール アーカイブ) が “ダウンロード” フォルダーに自動的にダウンロードされます。
  2. ファイル エクスプローラーで、”ダウンロード” フォルダーに移動し、圧縮ファイルを開いて、x64 フォルダーの内容を C:\AllFiles\Labs\04 フォルダーにコピーします。
  3. az140-cl-vm42 への Bastion セッション内で、管理者として Windows PowerShell ISE を起動し、[管理者: Windows PowerShell ISE] スクリプト ペインで、次のコマンドを実行して、MSIX アプリ アタッチ イメージを保存するフォルダーを作成します。

    New-Item -ItemType Directory -Path 'C:\Allfiles\Labs\04\MSIXVhds' -Force
    
  4. [管理者: Windows PowerShell ISE] スクリプト ペインで、次のコマンドを実行して、MSIX ファイルをホストする VHD を作成し、前のタスクで作成した MSIX パッケージをその中に解凍します。

    $appName = 'XmlNotepad'
    Set-Location -Path 'C:\AllFiles\Labs\04\x64'
    .\msixmgr.exe -Unpack -packagePath ..\$appName.msix -destination ..\MSIXVhds\$appName.vhd -applyacls -create -filetype vhd -vhdSize 128 -rootDirectory Apps
    
  5. az140-cl-vm42 への Bastion セッション内で、エクスプローラーで C:\AllFiles\Labs\04\MSIXVhds フォルダーに移動し、XmlNotepad.vhd という名前の仮想ディスクがあることを確認します。

演習 3: Azure Virtual Desktop セッション ホストに MSIX アプリ アタッチを実装する

この演習の主なタスクは次のとおりです。

  1. Azure Virtual Desktop ホストを含む Active Directory グループを構成する
  2. MSIX アプリ アタッチ用に Azure Files 共有を設定する
  3. MSIX アプリ アタッチ イメージを Azure Virtual Desktop セッション ホストにマウントして登録する
  4. MSIX アプリをアプリケーション グループに公開する
  5. MSIX アプリ アタッチの機能を検証する

タスク 1: Azure Virtual Desktop ホストを含む Active Directory グループを構成する

  1. ラボ コンピューターに切り替え、Azure portal を表示する Web ブラウザーで、「仮想マシン」を検索して選択し、[仮想マシン] ウィンドウから [az140-dc-vm11] を選択します。
  2. az140-dc-vm11 ブレードで [接続] を選択し、ドロップダウン メニューで [Bastion 経由で接続する] を選択します。
  3. プロンプトが表示されたら、次の資格情報を入力し、[接続] を選択します。

    設定
    [ユーザー名] Student
    パスワード Pa55w.rd1234
  4. az140-dc-vm11 への Bastion セッション内で、Windows PowerShell ISE を管理者として起動します。
  5. [Administrator: Windows PowerShell ISE] スクリプト ペインから、以下を実行して、このラボで使用する Microsoft Entra テナントに同期される AD DS グループ オブジェクトを作成します。

    $ouPath = "OU=WVDInfra,DC=adatum,DC=com"
    New-ADGroup -Name 'az140-hosts-42-p1' -GroupScope 'Global' -GroupCategory Security -Path $ouPath
    

    : このグループを使用して、Azure Virtual Desktop ホストに az140-42-msixvhds ファイル共有へのアクセス許可を付与します。

  6. [管理者: Windows PowerShell ISE] コンソールから、以下を実行して、前の手順で作成したグループにメンバーを追加します。

    Get-ADGroup -Identity 'az140-hosts-42-p1' | Add-AdGroupMember -Members 'az140-21-p1-0$','az140-21-p1-1$','az140-21-p1-2$'
    
  7. [Administrator: Windows PowerShell ISE] スクリプト ペインから以下を実行して、’az140-hosts-42-p1’ グループのメンバーであるサーバーを再起動します。

    $hosts = (Get-ADGroup -Identity 'az140-hosts-42-p1' | Get-ADGroupMember | Select-Object Name).Name
    $hosts | ForEach-Object {Restart-Computer -ComputerName $_ -Force}
    

    : この手順により、グループ メンバーシップの変更が有効になります。

  8. az140-dc-vm11 への Bastion セッション内の [スタート] メニューで、[Microsoft Azure AD Connect] フォルダーを展開し、[Microsoft Azure AD Connect] を選択します。
  9. [Microsoft Azure Active Directory Connect] ウィンドウの [Azure AD Connect へようこそ] ページで、[構成] を選択します。
  10. [Microsoft Entra Connect] ウィンドウの 「追加のタスク」 ページで、[同期オプションをカスタマイズする] を選択し、[次へ] を選択します。
  11. [Microsoft Azure Active Directory Connect] ウィンドウの [Microsoft Entra に接続] ページで、このタスクで先ほど特定した aadsyncuser ユーザー アカウントのユーザー プリンシパル名と、このユーザー アカウントの作成時に設定したパスワードを使用して認証します。
  12. [Microsoft Azure Active Directory Connect] ウィンドウの [ディレクトリの接続] ページで、[次へ] を選択します。
  13. [Microsoft Azure Active Directory Connect] ウィンドウの [ドメインと OU のフィルタリング] ページで、[選択したドメインと OU を同期する] オプションが選択されていることを確認し、adatum.com ノードを展開し、WVDInfra OU の横にあるチェックボックスを選択して (他の選択したチェックボックスは変更しないでください)、[次へ] を選択します。
  14. [Microsoft Azure Active Directory Connect] ウィンドウの [オプション機能] ページで、既定の設定を受け入れて、[次へ] を選択します。
  15. [Microsoft Azure Active Directory Connect] ウィンドウの [構成の準備完了] ページで、[構成の完了時に同期プロセスを開始する] チェックボックスがオンになっていることを確認し、[構成] を選択します。
  16. [構成が完了しました] ページの情報を確認し、[終了] を選択して、[Microsoft Azure Active Directory Connect] ウィンドウを閉じます。
  17. az140-dc-vm11 への Bastion セッション内で、Microsoft Edge を起動して、Azure portal に移動します。 メッセージが表示されたら、このラボで使用している Azure サブスクリプションに関連付けられている Microsoft Entra テナントのグローバル管理者ロールを持つユーザー アカウントの Microsoft Entra 資格情報を使用してサインインします。
  18. az140-dc-vm11 への Bastion セッション内で、Azure portal を表示している Microsoft Edge ウィンドウで、Microsoft Entra ID を検索して選択し、このラボで使用している Azure サブスクリプションに関連付けられている Microsoft Entra テナントに移動します。
  19. Microsoft Entra ID ブレードの左側の垂直メニューバーの [管理] セクションで、[グループ] をクリックします。
  20. **[グループ すべてのグループ]** ウィンドウで、グループの一覧から [az140-hosts-42-p1] エントリを選択します。

    : グループを表示するには、ページの更新が必要になる場合があります。

  21. [az140-hosts-42-p1] ブレードの左側にある垂直方向のメニューの [管理] セクションで、[メンバー] をクリックします。
  22. **[az140-hosts-42-p1 メンバー]** ウィンドウで、[ダイレクト メンバー] の一覧に、このタスクで先ほどグループに追加した Azure Virtual Desktop プールの 3 つのホストが含まれていることを確認します。

タスク 2: MSIX アプリ アタッチ用に Azure Files 共有を設定する

  1. ラボのコンピューターで、Bastion セッション に戻って az140-cl-vm42 に切り替えます。
  2. az140-cl-vm42 への Bastion セッションで Microsoft Edge を InPrivate モードで起動し、Azure portal に移動し、このラボで使用するサブスクリプションの所有者ロールを持つユーザー アカウントの資格情報を指定してサインインします。

    : 必ず Microsoft Edge の InPrivate モードを使用してください。

  3. az140-cl-vm42 への Bastion セッション内において、Azure portal を表示する [Microsoft Edge] ウィンドウで 「ストレージ アカウント」 を検索して選択し、[ストレージ アカウント] ブレードで、ユーザー プロファイルをホストするように構成したストレージ アカウントを選択します。

    :ラボのこの部分では、ラボ「AVD (AD DS) 用のストレージを実装および管理する」または「AVD (Microsoft Entra DS) 用のストレージを実装および管理する」の完了を条件としています

    : 運用環境のシナリオでは、別のストレージ アカウントの使用を検討する必要があります。 これには、ユーザー プロファイルをホストするストレージ アカウントに対して既に実装した Microsoft Entra DS 認証用にそのストレージ アカウントを構成する必要があります。 同じストレージ アカウントを使用して、個々のラボ間の重複する手順を最小限に抑えます。

  4. [ストレージ アカウント] ウィンドウの左側の垂直メニューで、[アクセス制御 (IAM)] を選択します。
  5. ストレージ アカウントの [アクセス制御 (IAM)] ブレードで、[+ 追加] を選択し、ドロップダウン メニューで [ロール割り当ての追加] を選択します。
  6. [ロール割り当ての追加] ブレードの [ロール] タブで、次の設定を指定して、[次へ] を選択します。

    設定 Value
    職務権限ロール 記憶域ファイル データの SMB 共有の共同作成者
  7. [ロール割り当ての追加] ブレードの [メンバー] タブで、[+ メンバーの選択] をクリックし、次の設定を指定して、[選択] をクリックします。

    設定 Value
    選択 az140-wvd-users
  8. [ロールの割り当ての追加] ブレードで [確認と割り当て] を選択してから、[確認と割り当て] を選択します。
  9. ストレージ アカウントの [アクセス制御 (IAM)] ブレードで、[+ 追加] を選択し、ドロップダウン メニューで [ロール割り当ての追加] を選択します。
  10. [ロール割り当ての追加] ブレードの [ロール] タブで、次の設定を指定して、[次へ] を選択します。

    設定 Value
    職務権限ロール 記憶域ファイル データの SMB 共有の管理者特権共同作成者
  11. [ロール割り当ての追加] ブレードの [メンバー] タブで、[+ メンバーの選択] をクリックし、次の設定を指定して、[選択] をクリックします。

    設定 Value
    選択 az140-wvd-admins
  12. [ロールの割り当ての追加] ブレードで [確認と割り当て] を選択してから、[確認と割り当て] を選択します。
  13. ストレージ アカウントの [アクセス制御 (IAM)] ブレードで、[+ 追加] を選択し、ドロップダウン メニューで [ロール割り当ての追加] を選択します。
  14. [ロール割り当ての追加] ブレードの [ロール] タブで、次の設定を指定して、[次へ] を選択します。

    設定 Value
    職務権限ロール 記憶域ファイル データの SMB 共有の管理者特権共同作成者
  15. [ロール割り当ての追加] ブレードの [メンバー] タブで、[+ メンバーの選択] をクリックし、次の設定を指定して、[選択] をクリックします。

    設定 Value
    選択 az140-hosts-42-p1
  16. [ロールの割り当ての追加] ブレードで [確認と割り当て] を選択してから、[確認と割り当て] を選択します。

  17. ストレージ アカウント ブレードの左側の垂直メニューの [データ ストレージ] セクションで、[ファイル共有] を選択し、[+ ファイル共有] を選択します。
  18. [新しいファイルの共有] ブレードで、次の設定を指定し、[次へ: バックアップ] >] を選択します (その他の設定は既定値のままにします)。

    設定
    名前 az140-42-msixvhds
    アクセス層 トランザクションが最適化されました
  19. [バックアップ] ブレードで、[バックアップの有効化] チェックボックの選択を解除し、[確認と作成] を選択し、検証プロセスが完了するのを待ってから、[作成] を選択します。
  20. Azure portal が表示されている Microsoft Edge のファイル共有の一覧で、新しく作成したファイル共有を選択します。
  21. az140-cl-vm42 への Bastion セッション内で、コマンド プロンプトを起動し、[コマンド プロンプト] ウィンドウから以下を実行して、ドライブを az140-42-msixvhds 共有にマップし (<storage-account-name> プレースホルダーをストレージ アカウントの名前に置き換えます)、コマンドが正常に完了することを確認します。

    net use Z: \\<storage-account-name>.file.core.windows.net\az140-42-msixvhds
    
  22. az140-cl-vm42 への Bastion セッション内で、[コマンド プロンプト] ウィンドウから次を実行して、セッション ホストのコンピューター アカウントに必要な NTFS アクセス許可を付与します。

    icacls Z:\ /grant ADATUM\az140-hosts-42-p1:(OI)(CI)(RX) /T
    icacls Z:\ /grant ADATUM\az140-wvd-users:(OI)(CI)(RX) /T
    icacls Z:\ /grant ADATUM\az140-wvd-admins:(OI)(CI)(F) /T
    

    : wvdadmin1\@adatum.com としてサインインしているときに、ファイル エクスプローラーを使用して、これらのアクセス許可を設定することもできます。

    : 次に、MSIX アプリ アタッチの機能を検証します。

  23. az140-cl-vm42 への Bastion セッション内で [Administrator: Windows PowerShell ISE] ウィンドウから以下を実行して、前の演習で作成した VHD ファイルを、この演習で先ほど作成した Azure Files 共有にコピーします。

    New-Item -ItemType Directory -Path 'Z:\packages' 
    Copy-Item -Path 'C:\Allfiles\Labs\04\MSIXVhds\XmlNotepad.vhd' -Destination 'Z:\packages\' -Force
    

タスク 3: Azure Virtual Desktop セッション ホストに MSIX アプリ アタッチ イメージをマウントして登録する

  1. az140-cl-vm42 への Bastion セッション内において、Azure portal を表示している [Microsoft Edge] ウィンドウで 「Azure Virtual Desktop」 を検索して選択し、[Azure Virtual Desktop] ブレードの左側の垂直方向のメニューにある [管理] セクションで、[ホスト プール] を選択します。
  2. [Azure Virtual Desktop | ホスト プール] ウィンドウで、ホスト プールの一覧から [az140-21-hp1] エントリを選択します。
  3. [az140-21-hp1 | プロパティ] ウィンドウの左側の垂直メニューにある [管理] セクションで、[MSIX パッケージ] を選択します。
  4. [az140-21-hp1 | MSIX パッケージ] ウィンドウで、[+ 追加] をクリックします。
  5. [MSIX パッケージの追加] ウィンドウの [MSIX イメージのパス] テキストボックスに、XmlNotepad.vhd ファイルへのパスを \\<storage-account-name>.file.core.windows.net\az140-42-msixvhds\packages\XmlNotepad.vhdの形式で入力し (<storage-account-name> プレースホルダーを、az140-42-msixvhds ファイル共有をホストするストレージ アカウントの名前に置き換えます)、[追加] をクリックします。
  6. [MSIX パッケージの追加] ブレードで、次のように設定してから [追加] をクリックします。

    設定 Value
    MSIX イメージ パス \\<storage-account-name>.file.core.windows.net\az140-42-msixvhds\XmlNotepad.vhd で、<storage-account-name> のプレースホルダーは、az140-42-msixvhds ファイル共有をホストするストレージ アカウントの名前を指定します。
    MSIX パッケージ パッケージの作成時に生成される名前
    [表示名] XML Notepad
    登録タイプ オンデマンド
    都道府県 アクティブ

タスク 4: MSIX アプリをアプリケーション グループに公開する

: MSIX アプリをリモート アプリとデスクトップ アプリ グループの両方に公開します。

  1. az140-cl-vm42 への Bastion セッション内の Azure portal を表示している [Microsoft Edge] ウィンドウで、「Azure Virtual Desktop」 を検索して選択し、[Azure Virtual Desktop] ブレードの左側の垂直方向のメニューにある [管理] セクションで、[アプリケーション グループ] を選択します。
  2. [Azure Virtual Desktop | アプリケーション グループ] ウィンドウで、[az140-21-hp1-Utilities-RAG] アプリケーション グループ エントリを選択します。
  3. [az140-21-hp1-Utilities-RAG] ブレードの左側の垂直方向のメニューにある [管理] セクションで、[アプリケーション] を選択します。
  4. [az140-21-hp1-Utilities-RAG | アプリケーション] ブレードで、[+ 追加] をクリックします。
  5. [アプリケーションの追加] ブレードで [基本] タブと [アイコン] タブで次の設定を指定し、[確認と追加] を選択します。

    設定 Value
    アプリケーション ソース アプリ アタッチ
    Package イメージに含まれるパッケージを表す名前
    アプリケーション XMLNOTEPAD
    アプリケーション識別子 XML Notepad
    [表示名] XML Notepad
    説明 XML Notepad
  6. 構成した設定を確認し、[追加] を選択します。
  7. [Azure Virtual Desktop | アプリケーション グループ] ウィンドウに戻り、[az140-21-hp1-DAG] アプリケーション グループ エントリを選択します。
  8. az140-21-hp1-DAG ブレードの左側にある垂直方向のメニューの [管理] セクションで、[アプリケーション] を選択します。
  9. [az140-21-hp1-DAG | アプリケーション] ブレードで、[+ 追加] をクリックします。
  10. [アプリケーションの追加] ブレードで、次の設定を指定し、[確認と追加] を選択します。

    設定 Value
    アプリケーション ソース MSIX パッケージ
    MSIX パッケージ イメージに含まれるパッケージを表す名前
    アプリケーション識別子 XML Notepad
    [表示名] XML Notepad
    説明 XML Notepad
  11. 構成した設定を確認し、[追加] を選択します。

タスク 5: MSIX アプリ アタッチの機能を検証する

  1. az140-cl-vm42 への Bastion セッション内で、Microsoft Edge を起動し、「Windows デスクトップ クライアントのダウンロード」ページに移動し、ダウンロードが完了したら、[ファイルを開く] を選択してインストールを開始します。 [リモート デスクトップ セットアップ] ウィザードの [インストールのスコープ] ページで、[このコンピューターのすべてのユーザー用にインストール] オプションを選択し、[インストール] をクリックします。
  2. インストールが完了したら、[セットアップの終了時にリモート デスクトップを起動する] チェックボックスがオンになっていることを確認し、[完了] をクリックしてリモート デスクトップ クライアントを起動します。
  3. [リモート デスクトップ] クライアント ウィンドウで、[サブスクライブする] を選択し、プロンプトが表示されたら、ユーザー プリンシパル名 aduser1 と、このユーザー アカウントの作成時に設定したパスワードを使用してサインインします。
  4. [リモート デスクトップ] クライアント ウィンドウの [az140-21-ws1] セクションで、プロンプトが表示されたら XML メモ帳アイコンをダブルクリックし、パスワードを入力して、XML メモ帳が正常に起動することを確認します。
  5. az140-cl-vm42 への Bastion セッション内で [スタート] を右クリックし、右クリック メニューで [シャットダウンまたはサインアウト] を選択して、カスケード メニューで [サインアウト] を選択します。
  6. [切断] ダイアログで、[閉じる] を選択します。

演習 4: ラボでプロビジョニングおよび使用されている Azure VM を停止して割り当てを解除する

この演習の主なタスクは次のとおりです。

  1. ラボでプロビジョニングおよび使用されている Azure VM を停止して割り当てを解除する

: この演習では、関連するコンピューティング料金を最小限に抑えるために、このラボでプロビジョニングおよび使用されている Azure VM の割り当てを解除します

タスク 1: ラボでプロビジョニングおよび使用されている Azure VM の割り当てを解除する

  1. ラボのコンピューターに切り替え、Azure portal が表示されている Web ブラウザー ウィンドウにおいて、[Cloud Shell] ペイン内で [PowerShell] シェル セッションを開きます。
  2. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して、このラボで作成および使用されているすべての Azure VM を一覧表示します。

    Get-AzVM -ResourceGroup 'az140-21-RG'
    Get-AzVM -ResourceGroup 'az140-42-RG'
    
  3. [Cloud Shell] ウィンドウの PowerShell セッションから、次を実行して、このラボで作成および使用したすべての Azure VM を停止して割り当てを解除します。

    Get-AzVM -ResourceGroup 'az140-21-RG' | Stop-AzVM -NoWait -Force
    Get-AzVM -ResourceGroup 'az140-42-RG' | Stop-AzVM -NoWait -Force
    

    : このコマンドは非同期で実行されるため (-NoWait パラメーターによって決定されます)、同じ PowerShell セッション内で直後に別の PowerShell コマンドを実行できますが、Azure VM が実際に停止されて割り当てが解除されるまでに数分かかります。