簡體   English   中英

在 Windows 10 安裝結束時啟動一個 powershell 腳本?

[英]Start a powershell script at the end of Windows 10 installation?

我有一個自定義 ISO 映像,我希望在其安裝結束時,在登錄用戶之前運行我的 PowerShell 腳本。

我見過一些自定義 ISO 可以執行此操作。 它是如何完成的?

在捕獲 WIM 映像之前,您可以通過幾種不同的方式設置腳本以在首次啟動時運行。 這里有很多細節和示例可供閱讀: Add a custom script to Windows setup 我會推薦以下選項之一:

  1. 簡單 CMD在這里創建一個腳本: %WINDIR%\Setup\Scripts\SetupComplete.cmd 該腳本以本地系統權限運行,並在用戶看到桌面后立即啟動。

  2. 更復雜使用FirstLogonCommands\SynchronousCommand設置創建一個Unattend.xml文件,以在開箱即用體驗 (OOBE) 之后但在用戶看到桌面之前運行。

  3. Powershell創建計划任務設置為在啟動時運行一次,然后將腳本復制到C:\Windows\Tasks\MyScript.ps1

# schedule to run at next startup
$trigger = New-ScheduledTaskTrigger -AtStartup

# first, it runs your script
$action1 = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-F "C:\Windows\Tasks\MyScript.ps1"'
# then it removes this task when done so it doesn't run again
$action2 = New-ScheduledTaskAction -Execute 'Powershell.exe' -Argument '-C Unregister-ScheduledTask -TaskName "MyTask" -Confirm:$false'

# run as local admin
$principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest

# finally, register everything and you're done!
Register-ScheduledTask -TaskName 'MyTask' -Action $action -Trigger $trigger -Principal $principal -Description 'My task to run after first startup' -ErrorAction Stop

執行上述任一操作后捕獲 wim,您應該已設置好。

如果要使用unattend.xml腳本,必須運行c:\windows\system32\sysprep /generalize /oobe /unattend:autounattend.xml /shutdown,並在關機前生成wim鏡像從winPE或類似工具啟動.

這樣您的 wim 映像就可以部署到任何其他機器上,並且您在 autounattend.xml 中選擇的腳本將在啟動時運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM