Azure Lab Services で Windows テンプレート マシンを準備する
重要
Azure Lab Services は 2027 年 6 月 28 日に廃止されます。 詳細については、提供終了ガイドを参照してください。
この記事では、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 のカスタマイズ
サイレント モードで Windows の既知のフォルダーを OneDrive に移動する
[ドキュメント]、[ダウンロード]、[ピクチャ] などのフォルダーは、ラボ ユーザーのファイルを格納するためによく使用されます。 これらのフォルダーが確実に OneDrive にバックアップされるようにするために、これらのフォルダーを OneDrive に移動することができます。
Active Directory を使用していないマシン上では、ユーザーは、OneDrive に対して認証されると、それらのフォルダーを OneDrive に手動で移動できます。
- エクスプローラーを開きます
- [ドキュメント]、[ダウンロード]、または [ピクチャ] フォルダーを右クリックで選択します。
- [プロパティ]>[場所] に移動します。 フォルダーを OneDrive ディレクトリの新しいフォルダーに移動します。
仮想マシンが Active Directory に接続されている場合は、既知のフォルダーを OneDrive に移動することをラボ ユーザーに自動的に求めるように、テンプレート マシンを設定できます。
自分の組織 ID を取得します。
Microsoft 365 の組織 ID を見つける方法について説明します。 または、次の PowerShell スクリプトを使用して、組織 ID を取得することもできます。
Install-Module Microsoft.Graph -Scope CurrentUser Connect-MgGraph -Scopes "User.Read" $officeTenantID = Get-MgOrganization | Select-Object -expand Id
次の 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 の機能とその更新頻度を選択することにより、再利用可能な構成ファイルを作成する必要があります。
- Microsoft 365 アプリ管理センターにアクセスし、独自の構成ファイルをダウンロードします。
- Office 展開ツール (
setup.exe
) をダウンロードします。 setup.exe /download configuration.xml
を実行して、Office コンポーネントをダウンロードします。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 更新プログラムをインストールするには:
- [スタート] メニューから [設定] を起動します
- [更新とセキュリティ] を選択します
- [更新プログラムの確認] を選択します
- 更新プログラムがダウンロードされ、インストールされます。
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 からアプリケーションを手動で更新するには:
- Microsoft Store アプリケーションを起動します。
- アプリケーションの上の隅にある、ユーザーの写真の横の省略記号 (...) を選択します。
- ドロップダウン メニューから、[ダウンロードと更新] を選択します。
- [更新プログラムの取得] ボタンを選択します。
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 ストアを通じて追加することができます。
- Microsoft Store を起動します
- "言語パック" を検索します
- インストールする言語を選択します
既にテンプレート 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 Teams、Minecraft Education Edition などのアプリケーションがあります。 これらのアプリケーションは手動で Windows ストアを通じて、またはそれぞれの Web サイト経由でテンプレート VM 上にインストールする必要があります。
次のステップ
- Windows シャットダウン動作を制御してコストを管理する方法を参照してください