sysprep だけでサービスインができる環境が準備できれば良いのですが、システムによっては初期セットアップが必要なこともあります。
sysprep 起動後に自動的にスクリプトを実行させるのはいくつか方法がありますが、 SetupComplete.cmd を使うのがおすすめです。
SetupComplete.cmd は、sysprep 起動後からログオン画面が出るまでの間にスクリプトが実行されるので、OOBE とかの sysprep 動作影響を受けません。
使い方は簡単で、SetupComplete.cmd に実行コマンドを書いて、%WinDir%\Setup\Scripts(通常 c:\Windows\Setup\Scripts)にコピーします。(フォルダ作成必要)
sysprep 起動処理が終わると、このファイルが実行されます。(特別な設定は不要)
例えば、Untitled.xml と SetupComplete.cmd を削除するために
C:\1stexec\cleanup.ps1 を実行したい場合は、以下のようにします。
(.bat や .exe 実行でも ok)
SetupComplete.cmd を作成し、テキストエディタで以下のように c:\1stexec\cleanup.ps1 を実行するように書きます。
SetupComplete.cmd
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File c:\1stexec\cleanup.ps1 |
このファイルを C:\Windows\Setup\Scripts にコピーします。
不要になったファイル削除用の cleanup.ps1 にファイル削除のスクリプトを書いて、所定の場所に置きます。(今回の例では c:\1stexec\cleanup.ps1)
実行するスクリプトは del だけで十分なのですが、実行ログも出力したいので、こんな感じにしてみました。
cleanup.ps1
|
準備ができたら sysprep で展開イメージにします。
展開されたイメージが起動すると、仕込んでおいたスクリプトが自動実行されサービスインできるようになります。
これ以外にも自動応答ファイルに RunSynchronousCommand を設定する方法と、自動応答ファイルに FirstLogonCommands を設定する方法があります。
詳しくはこちらをご覧ください。
Sysprep 中に任意のコマンドを実行する方法について | Ask CORE
https://blogs.technet.microsoft.com/askcorejp/2010/05/27/sysprep/
sysprep の自動応答ファイルの作り方
http://www.vwnet.jp/Windows/WS12R2/2016071301/sysperp_untitled.htm
Windows Server / Windows Client OS の sysprep をカスタマイズする
http://www.vwnet.jp/Windows/WS16/2017072301/EditSysprep.htm
Copyright © MURA All rights reserved.