Windows 安裝程式腳本
Setupcomplete.cmd
和
ErrorHandler.cmd
是在 Windows 安裝程式期間或之後執行的自訂腳本。 它們可用來安裝應用程式,或使用
cscript/wscript
腳本執行其他工作。
%WINDIR%\Setup\Scripts\SetupComplete.cmd
:此腳本會以本機系統許可權執行,並在使用者看到桌面之後立即啟動。 使用 OEM 產品金鑰時會停用此設定,但企業版和 Windows Server 作業系統除外。
%WINDIR%\Setup\Scripts\ErrorHandler.cmd
:此腳本會在安裝程式遇到嚴重錯誤時自動執行。 它會以本機系統許可權執行。
在安裝程式完成之後執行腳本, (SetupComplete.cmd)
安裝 Windows 之後,但在登入畫面出現之前,Windows 安裝程式會在
%WINDIR%\Setup\Scripts\
目錄中搜尋
SetupComplete.cmd
檔案。
如果找到
SetupComplete.cmd
檔案,Windows 安裝程式會執行腳本。 Windows 安裝程式會在
C:\Windows\Panther\UnattendGC\Setupact.log
檔案中記錄動作。
安裝程式在執行
SetupComplete.cmd
之後,不會驗證腳本中的任何結束代碼或錯誤層級。
您無法重新開機系統並繼續執行
SetupComplete.cmd
。 您不應該藉由新增
shutdown -r
之類的命令來重新開機系統。 這會讓系統處於不良狀態。
如果電腦在安裝期間加入網域,則在
Setupcomplete.cmd
完成之前,不會將定義在網域中定義的群組原則套用至電腦。 這是為了確保群組原則設定活動不會干擾腳本。
如果 Windows 安裝程式遇到嚴重錯誤, (ErrorHandler.cmd) 執行腳本
當您同時安裝許多系統時,ErrorHandler.cmd 很有用。 這可協助您偵測 Windows 安裝程式期間發生錯誤的時間。 執行時,安裝程式會自動執行腳本,其中包含自訂命令或動作,以解決錯誤的原因。
如果 Windows 安裝程式發生嚴重錯誤且無法完成安裝,Windows 安裝程式會在下列目錄中搜尋命令腳本:
%WINDIR%\Setup\Scripts\ErrorHandler.cmd
。 視是否找到腳本而定,會發生兩個動作的其中一個。
如果找不到指令碼,則會顯示包含錯誤文字的對話方塊。 使用者必須在 Windows 安裝程式結束之前關閉對話方塊。
如果找到指令碼,則指令碼會同步執行。 不會顯示對話方塊或錯誤文字。
ErrorHandler.cmd
腳本執行完成之後,Windows 安裝程式就會結束。
根據 Windows 安裝程式的階段,電腦會返回執行 Windows 安裝程式的環境,例如舊版作業系統或 Windows 預先安裝環境 (,例如 Windows PE) 。
當 Windows 安裝程式發生一個以上的錯誤並執行一次以上 ErrorHandler.cmd 指令碼時,可能會有更多情況。 開發
ErrorHandler.cmd
的程式碼時,請確定您可以多次執行此腳本。
使用 ErrorHandler.cmd
若要使用 ErrorHandler.cmd,您可以執行下列其中一項:
掛接映射,並在
%WINDIR%\Setup\Scripts\ErrorHandler.cmd
中將其新增至映射。 取消掛接映像。
將
ErrorHandler.cmd
新增至暫存檔位置 (例如 C:\Temp\ErrorHandler.cmd) ,然後使用
/m
選項執行 Windows 安裝程式。
Setup /m:C:\Temp
若要深入瞭解,請參閱 Windows 安裝程式Command-Line選項。
使用自動執行腳本
使用其中一個設定在 Windows 安裝程式期間執行,建立Unattend.xml檔案。 這可以搭配 OEM 產品金鑰使用。
若要執行可以同時啟動的服務或命令,請使用 RunAsynchronousCommands。
其中有些設定會在使用者內容中執行,其他設定則會根據組態階段在系統內容中執行。
新增 Microsoft-Windows-Setup\RunAsynchronousCommand 或 RunSynchronousCommand ,以在 Windows 安裝程式啟動時執行腳本。 這可能有助於設定硬碟磁碟分割。
將Microsoft-Windows-Deployment\RunAsynchronousCommand 或 RunSynchronousCommand新增至auditUser組態傳遞,以執行電腦進入稽核模式時執行的腳本。 這對自動化應用程式安裝或測試等工作很有説明。
新增 Microsoft-Windows-Shell-Setup\LogonCommands\AsynchronousCommand 或 FirstLogonCommands\SynchronousCommand, 以在全新體驗 (OOBE) 之後執行,但在使用者看到桌面之前。 這在使用者已選取其語言之後,設定特定語言的應用程式或內容特別有用。
請謹慎使用這些腳本,因為長腳本可防止使用者快速到達 [開始] 畫面。 對於 Windows 的零售版本,其他限制適用于這些腳本。 如需詳細資訊,請參閱 OEM 合作夥伴中心的授權和原則指引。
當您使用 FirstLogonCommands 新增腳本時,即使使用Ctrl+Shift+F3開機進入稽核模式,也會在下一次開機時觸發腳本。 若要開機到稽核模式而不觸發這些腳本,請新增設定:Microsoft-Windows-Deployment\Reseal\Mode = Audit。
Windows 安裝程式技術參考:在 Windows 安裝程式期間將自訂映射開機 Windows 部署到稽核模式或 OOBE將設備磁碟機新增至 Windows