この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
WVDのOSイメージ管理で必須となる作業にsysprepがあります。作業手順と失敗時の対応についてコメントします。
公式のsysprepによるVMイメージ化の手順は以下のとおりです。
Azure で一般化された VM の管理対象イメージを作成する
URL : https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/capture-image-resource
推奨事項、ポイントなどは以下サイトを参照してください。
https://social.technet.microsoft.com/Forums/ja-JP/604d9226-f697-4278-bc3d-9a044044f652/sysprep?forum=Wcsupportja
失敗した場合は、以下フォルダにエラーログが表示されるので確認しましょう。
C:\Windows\System32\Sysprep\Panther\setuperr.log
以下がエラー内容
<日付>, Error SYSPRP Package Microsoft.LanguageExperiencePackja-JP_18362.16.55.0_neutral__8wekyb3d8bbwe was installed for a user, but not provisioned for all users. This package will not function properly in the sysprep image.
対応
上記パッケージ名を所有しているアカウントを調査し、そのアカウントでサインインして削除します。なお、ほとんどが意図的というより自動的にインストールされたパッケージになります。
> Get-AppxPackage -AllUser | Format-List -Property PackageFullName,PackageUserInformation
PackageFullName : 1527c705-839a-4832-9118-54d4Bd6a0c89_10.0.18362.449_neutral_neutral_cw5n1h2txyewy
PackageUserInformation : {S-1-5-21-7811140-33637xxxxx-32852xx-500 [user01]: Installed, S-1-5-21-7811140-33637xxxxx-3285xxxxx-1004 [user02]: Installed}
~略~
PackageFullName : Microsoft.LanguageExperiencePackja-JP_18362.16.55.0_neutral__8wekyb3d8bbwe
PackageUserInformation : {S-1-5-21-7811140-33637xxxxx-3285xxxxx-500 [user01]: Installed}
~略~
見つけたパッケージ名を参照し、削除します。また、上記の場合はインストールしたユーザ[user01]でサインインして作業します。
Get-AppxPackage -AllUsers 当該パッケージ | Remove-AppxPackage -AllUsers
このケースで大半は対応できますが、当該パッケージが複数ある場合はパッケージ分実施しなければなりません。また厄介なのは、エラーログには1つしか表示されないため、sysprepを再実行して初めてわかるということです。コツコツ対応することになります。。。