Azure Lab Services で Windows テンプレート マシンを準備する

この記事では、Azure Lab Services で Windows ベースのラボ テンプレート仮想マシンを準備するためのベスト プラクティスとヒントについて説明します。 Windows Update、OneDrive、Microsoft 365 など、一般的に使用されるソフトウェアとオペレーティング システムの設定を構成する方法について説明します。

重要

この記事には、マシン テンプレートの変更プロセスを効率化するための PowerShell スニペットが含まれています。 必ず管理者特権 (管理者として実行) を使用して PowerShell スクリプトを実行してください。 Windows 10 または 11 で、[スタート] を選択し、「PowerShell」と入力し、[Windows PowerShell] を右クリックで選択し、[管理者として実行] を選択します。

OneDrive をインストールして構成する

ラボ ユーザーがラボ仮想マシンを再イメージ化すると、マシン上のすべてのデータが削除されます。 ユーザー データの損失を防止するために、ラボ ユーザーが、たとえば Microsoft OneDrive を使用して、クラウド内のデータをバックアップすることをお勧めします。

OneDrive をインストールする

  • OneDrive を手動でダウンロードしてインストールする

    OneDrive または OneDrive for Business のそれぞれの手順に従ってください。

  • PowerShell スクリプトを実行する

    次のスクリプトを使用して、最新バージョンの OneDrive をダウンロードしてインストールします。 この例では、インストールで /allUsers スイッチを使用して、マシン上のすべてのユーザー用に OneDrive をインストールします。 /silent スイッチではサイレント インストールが実行され、ユーザーの確認は求められません。

    Write-Host "Downloading OneDrive Client..."
    $DownloadPath = "$env:USERPROFILE/Downloads/OneDriveSetup.exe"
    if((Test-Path $DownloadPath) -eq $False )
    {
        Write-Host "Downloading OneDrive..."
        $web = new-object System.Net.WebClient
        $web.DownloadFile("https://go.microsoft.com/fwlink/p/?LinkId=248256",$DownloadPath)
    } else {
        Write-Host "OneDrive installer already exists at " $DownloadPath
    }
    
    Write-Host "Installing OneDrive..."
    & $env:USERPROFILE/Downloads/OneDriveSetup.exe /allUsers /silent
    

OneDrive のカスタマイズ

OneDrive の構成をさらにカスタマイズできます。

サイレント モードで Windows の既知のフォルダーを OneDrive に移動する

[ドキュメント]、[ダウンロード]、[ピクチャ] などのフォルダーは、ラボ ユーザーのファイルを格納するためによく使用されます。 これらのフォルダーが確実に OneDrive にバックアップされるようにするために、これらのフォルダーを OneDrive に移動することができます。

  • Active Directory を使用していないマシン上では、ユーザーは、OneDrive に対して認証されると、それらのフォルダーを OneDrive に手動で移動できます。

    1. エクスプローラーを開きます
    2. [ドキュメント][ダウンロード]、または [ピクチャ] フォルダーを右クリックで選択します。
    3. [プロパティ]>[場所] に移動します。 フォルダーを OneDrive ディレクトリの新しいフォルダーに移動します。
  • 仮想マシンが Active Directory に接続されている場合は、既知のフォルダーを OneDrive に移動することをラボ ユーザーに自動的に求めるように、テンプレート マシンを設定できます。

    1. 自分の組織 ID を取得します。

      Microsoft 365 の組織 ID を見つける方法について説明します。 または、次の PowerShell スクリプトを使用して、組織 ID を取得することもできます。

      Install-Module Microsoft.Graph -Scope CurrentUser
      Connect-MgGraph -Scopes "User.Read"
      $officeTenantID = Get-MgOrganization | Select-Object -expand Id
      
    2. 次の PowerShell スクリプトを使用して、既知のフォルダーを OneDrive に移動することを求めるように OneDrive を構成します。

      if ($officeTenantID -eq $null)
      {
              Write-Error "Variable `$officeTenantId must be set to your Office Tenant Id before continuing."
      }
      New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive"
      New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive"
          -Name "KFMSilentOptIn" -Value $officeTenantID -PropertyType STRING
      

OneDrive ファイルをオンデマンドで使用する

ラボ ユーザーは、OneDrive アカウントに多数のファイルを格納する場合があります。 ラボ仮想マシンの領域を節約し、ダウンロード時間を短縮するために、OneDrive 上のファイルをオンデマンドで利用可能にすることができます。 オンデマンド ファイルは、ラボ ユーザーがファイルにアクセスした場合にのみダウンロードされます。

次の PowerShell スクリプトを使用して、OneDrive でオンデマンド ファイルを有効にします。

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive"
    -Name "FilesOnDemandEnabled" -Value "00000001" -PropertyType DWORD

OneDrive チュートリアルを無効にする

既定では、OneDrive のセットアップが終了すると、ブラウザーでチュートリアルが起動します。 次のスクリプトを使用して、チュートリアルの表示を無効にします。

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive" -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive"
    -Name "DisableTutorial" -Value "00000001" -PropertyType DWORD -Force

ユーザーの OneDrive の最大ダウンロード サイズを設定する

ファイルの同期時に OneDrive がラボ仮想マシン上の大量のディスク領域を自動的に使用しないようにするために、最大サイズのしきい値を構成できます。 ラボ ユーザーがしきい値 (MB 単位) を超える OneDrive を持っている場合、OneDrive 同期クライアント (OneDrive.exe) でファイルがコンピューターにダウンロードされる前に、同期するフォルダーを選択するように求めるメッセージが表示されます。 この設定は、オンデマンド ファイルが有効になっていない場合に使用されます。

次の PowerShell スクリプトを使用して、最大サイズのしきい値を設定します。 この例では、1111-2222-3333-4444 は組織 ID であり、0005000 は 5 GB のしきい値を設定します。

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive"
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive\DiskSpaceCheckThresholdMB"
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\OneDrive\DiskSpaceCheckThresholdMB"
    -Name "1111-2222-3333-4444" -Value "0005000" -PropertyType DWORD

Microsoft 365 をインストールして構成する

Microsoft 365 をインストールする

お使いのテンプレート マシンで Microsoft Office が必要な場合は、Office 展開ツール (ODT) を使用して、Office をインストールすることをお勧めします。 Microsoft 365 アプリ管理センターを使用して、必要とするアーキテクチャおよび Office の機能とその更新頻度を選択することにより、再利用可能な構成ファイルを作成する必要があります。

  1. Microsoft 365 アプリ管理センターにアクセスし、独自の構成ファイルをダウンロードします。
  2. Office 展開ツール (setup.exe) をダウンロードします。
  3. setup.exe /download configuration.xml を実行して、Office コンポーネントをダウンロードします。
  4. setup.exe /configure configuration.xml を実行して、Office コンポーネントをインストールします。

Microsoft 365 の更新プログラム チャネルを変更する

Office 構成ツールを使用すれば、Office で更新プログラムを受信する頻度を設定することができます。 ただし、インストール後に Office で更新プログラムを受信する頻度を変更する必要がある場合は、更新プログラム チャネルの URL を変更することができます。 更新プログラム チャネル URL アドレスは「組織内のデバイスの Microsoft 365 アプリ更新チャネルを変更する」で入手できます。

以下の PowerShell スクリプト例は、月次更新チャネルを使用するように Microsoft 365 を設定する方法を示しています。

# Update to the Microsoft 365 Monthly Channel
Set-ItemProperty
    -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\CDNBaseUrl"
    -Name "CDNBaseUrl"
    -Value "http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60"

Windows 更新プログラムをインストールして構成する

最新の Windows 更新プログラムをインストールする

テンプレート VM を発行する前に、セキュリティ上の理由から、テンプレート マシンに最新の Microsoft 更新プログラムをインストールすることをお勧めします。 ラボを発行する前にインストールすることで、予期しない更新のためにラボ ユーザーの作業が中断されることを回避できます。

Windows インターフェイスから Windows 更新プログラムをインストールするには:

  1. [スタート] メニューから [設定] を起動します
  2. [更新とセキュリティ] を選択する
  3. [更新プログラムの確認] を選択します
  4. 更新プログラムがダウンロードされ、インストールされます。

PowerShell を使用して、テンプレート マシンを更新することもできます。

Set-ExecutionPolicy Bypass -Scope Process -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Confirm
Install-Module PSWindowsUpdate -Confirm
Install-WindowsUpdate -MicrosoftUpdate
Set-ExecutionPolicy default -Force

Note

更新プログラムによっては、マシンの再起動が必要になる場合があります。 再起動が必要かどうかを確認するメッセージが表示されます。

Microsoft Store アプリの最新の更新プログラムをインストールする

すべての Microsoft Store アプリを最新バージョンに更新することをお勧めします。

Microsoft Store からアプリケーションを手動で更新するには:

  1. Microsoft Store アプリケーションを起動します。
  2. アプリケーションの上の隅にある、ユーザーの写真の横の省略記号 (...) を選択します。
  3. ドロップダウン メニューから、[ダウンロードと更新] を選択します。
  4. [更新プログラムの取得] ボタンを選択します。

PowerShell を使用して、Microsoft Store アプリケーションを更新するには:

(Get-WmiObject -Namespace "root\cimv2\mdm\dmmap" -Class "MDM_EnterpriseModernAppManagement_AppManagement01").UpdateScanMethod()

Windows の自動更新を停止する

Windows を最新バージョンに更新した後で、Windows 更新プログラムを停止することを検討できます。 自動更新によって、スケジュールされたラボ時間が妨げられる可能性があります。 長時間のラボが必要な場合は、ラボ ユーザーに手動で更新プログラムを確認することを求めるか、スケジュールされたラボ時間外に自動更新をスケジュールすることを検討してください。 Windows Update のカスタマイズ オプションの詳細については、「その他の Windows Update 設定の管理」を参照してください。

Windows の自動更新は、次の PowerShell スクリプトを使用して停止される場合があります。

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AU"
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\AU"
    -Name "NoAutoUpdate" -Value "1" -PropertyType DWORD

言語パックのインストール

仮想マシン上に追加の言語をインストールする必要がある場合は、Microsoft ストアを通じて追加することができます。

  1. Microsoft Store を起動します
  2. "言語パック" を検索します
  3. インストールする言語を選択します

既にテンプレート VM にログオンしている場合は、[言語パックのインストール] ショートカット (ms-settings:regionlanguage?activationSource=SMC-IA-4027670) を使用して、適切な設定ページに直接移動します。

不要な組み込みアプリを削除する

Windows 10 には、特定のラボに必要ではない可能性がある、多くの組み込みアプリケーションが付属しています。 ラボ ユーザー用のマシン イメージを簡単にするために、テンプレート マシンから一部のアプリケーションをアンインストールすることができます。

インストールされているアプリケーションのリストを表示するには、PowerShell の Get-AppxPackage コマンドレットを使用します。 以下の PowerShell スクリプト例では、削除できるすべてのインストール済みアプリケーションが示されています。

Get-AppxPackage | Where {$_.NonRemovable -eq $false} | select Name

アプリケーションを削除するには、Remove-Appx コマンドレットを使用します。 以下のスクリプトでは、XBox に関連したすべてを削除する方法が示されています。

Get-AppxPackage -Name *xbox* | foreach { if (-not $_.NonRemovable) { Remove-AppxPackage $_} }

Windows ストア アプリでの教育によく使用される、その他のアプリをインストールします。 候補として、Microsoft Whiteboard アプリMicrosoft TeamsMinecraft Education Edition などのアプリケーションがあります。 これらのアプリケーションは手動で Windows ストアを通じて、またはそれぞれの Web サイト経由でテンプレート VM 上にインストールする必要があります。

次のステップ