Windows
每次 Windows 更新後執行特定腳本
有沒有辦法在每次 Windows 更新完成時執行特定的腳本(即重啟後或不需要重啟的更新後)?
我的應用程序受到MSCOMCTL.OCX 更新的影響,而且似乎每次 Windows 更新更新時,使用者都需要應用我的修復腳本。
編輯:對於 Windows 7 及更高版本。
我相信,最終,正確的答案是“修復你的應用程序”。但是,由於多種原因,您可能無法做到。話雖如此…
哪個版本的 Windows?在 Vista/2008 及更高版本中,您可以將計劃任務綁定到特定的事件 ID。在系統事件日誌中,來自 WindowsUpdateClient 的事件 ID 19 表示WUA 更新安裝成功。
啟動任務計劃程序管理單元,
taskschd.msc
. 右鍵點擊“任務計劃程序庫”並選擇“創建基本任務…”。在下一個螢幕中,輸入名稱和簡要說明,然後點擊“下一步”。
點擊標有“記錄特定事件時”的單選按鈕,點擊“下一步”。
選擇“系統”作為日誌,選擇“WindowsUpdateClient”作為源,選擇“19”作為事件ID,點擊“下一步”。
點擊“啟動程序”單選按鈕,點擊“下一步”。
提供“修復它”腳本或執行檔的路徑,點擊“下一步”。
檢查您的設置是否正確,然後點擊“完成”。
您現在將看到帶有您的設置的庫中列出的計劃任務。
這是一個使用 only 的命令行範例
C:\Windows\system32\schtasks.exe
,XPath 過濾器語法花了我一段時間。似乎 Task Scheduler僅使用 XPath 的一個子集。REM Create scheduled task triggered by WindowsUpdateClient event ID 19 schtasks /Create /TN "Post WUA Update Install" /TR "C:\scripts\your.fix.cmd" /SC ONEVENT /EC System /MO "*[System[Provider[@Name='Microsoft-Windows-WindowsUpdateClient'] and (EventID=19)]]"