結局最初に頼まれたマスター作り上げるのに二週間くらいかかってしまいましたね・・・最初インストールメディアにCopyProfile設定を有効化したAutoAttend.xmlを適用したせいなのかPowerShellから全ユーザー指定で削除したはずの標準UWPアプリ(具体的にはXBOX関連とかMicrosoft Solitaire Collectionとかあの辺あたり)がSysprepで一般化した後で復活してしまいましたがこの辺は応答ファイルを突っ込まない状態で普通にインストールして最後にUnatttend.xmlをSysprepで適用する形で解決しました。
ただ最後の最後まで解決しなかったのがスタートメニューとタスクバーのレイアウトで、通常であればマスターであらかじめスタートメニューの配列やアプリのピン留めなどのカスタマイズを行なってからPowerShellで
Import-StartLayout -Path エクスポートしたXMLファイルの保存先
でエクスポートし、
Export-StartLayout -LayoutFile 上でエクスポートしたXMLファイルの保存先 -mountpath C:¥
でインポートするか、Import-StartLayoutコマンドでLayoutModication.xmlというファイル名でC:¥Users¥Default¥Appdata¥Microsoft¥Windows¥Shellにコピーしてあげれば良い・・はずなのですが、監査を抜けてUnattend.xmlで作成したアカウントや新しく作成したアカウント・・・どころか監査モードに再び立ち上げてAdministratorアカウントで入り直しても上記フォルダからLayoutModication.xmlファイルが削除されてスタートメニューとタスクバーのレイアウトが初期状態のものに戻ってしまいます。
一度一般化してからDISM /Capture-Imageでキャプチャし、テクニシャンPC(しつこいようですが作業用PC)でマウントしてフォルダの中身を見たところ、ちゃんとインポートはされているのですがどうもSpecialize処理の段階でプロファイルがコピーされた時点で削除されてしまっているようです。
ということはマスターの時点でAdministratorアカウントの当該フォルダにもLayoutModication.xmlを置いておけばいいんじゃね?と考えたので一般化直前のバックアップ(こちらは実際に配布するイメージではないのでDISMではなくオープンソースで開発されているResucuZillaを使用してバックアップしています)を復元してエクスポートしたXMLファイルを置いてから一般化して一通りセットアップしたところ、希望通りスタートメニューとタスクバーのレイアウトが全ユーザーに反映されていることを確認できました。
もっと手っ取り早くエクスポートしたXMLファイルをグループポリシーの「コンピューターの構成→管理用テンプレート→タスクバーと「スタートメニュー」→スタート画面のレイアウト」で指定してあげても良いのですが、できる限り余計なものを残さない状態で作りたいので・・・Windows 11だとまたスタートメニューの仕様が異なるのでこの手順でいけるかどうか、実際にやってみないとわからないのですが少なくとももうすでに開発が終了しているWindows 10に関してはこの方法でスタートメニューとタスクバーの配列を全ユーザーに反映することができそうです。
作業していて本当に楽しいですし、やりがいもあるのですがやっぱり普通のOSインストールとは手順が違うのでマスターを作るのにえらく時間がかかってしまいました(次からは今回の経験が活かせるのである程度短縮できるとは思いますが・・・)
Sysprep自体元々は1996年にリリースされたWindows NT 4.0時代に開発されたものなのでUWPアプリに対応した今のWindowsの仕様には合っていない部分もありますし(特にネットに繋いでしまうとストアアプリの更新がかかり、高確率で一般化に失敗するのは致命的だと思います・・・)、現在ではプロビジョニングパッケージやWindows AutoPilotといったより簡単かつ効率的に設定を展開できる手順もあるのでいずれワードパッドやコルタナさんなどと同じようにレガシーコンポーネント扱いになって消え去ることになりそうな気がします・・・
コメント