Windows-Server-2003

按日期解除安裝 MS 更新的腳本

  • May 22, 2013

我的情況是,我需要在某個日期之前解除安裝所有 Windows 更新以解決一個奇怪的錯誤。我找到了幾個 vb/ps 腳本來做到這一點

刪除單個更新

但是,我正在嘗試按照 date > 1/9/13 擺脫它的方式來解決問題!

我問的原因是我覺得這是我最終會不時遇到的事情,並且最終會非常耗時。有任何想法嗎 ?

我還發現了以下

wmic qfe get hotfixid,installedon | findstr %01/09/13% >> c:\list.txt

但是,這似乎並沒有返回準確的結果集

我目前正在使用 Windows Server 2003 機器。提前致謝。

這是使用 VBScript 按日期過濾修補程序的*一種方法。*如果需要,您可以輕鬆地將其轉換為 PowerShell,或者只需呼叫您的 PowerShell 程式碼來刪除與過濾器匹配的每個修補程序。

出錯時繼續下一步
昏暗的電腦
暗淡 objWMIService
暗淡 propValue
暗淡 objItem
暗淡 SWBemlocator
暗淡的使用者名
暗暗密碼
暗淡 colItems

暗淡日期過濾器

dateFilter = CDate("1/9/2013")

strComputer =“。”
使用者名 = ""
密碼 = ""
設置 SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
設置 objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_QuickFixEngineering",,48)
對於 colItems 中的每個 objItem
hotFixID = objItem.HotFixID
installDate = objItem.InstallDate

If IsNull(installDate) or Trim(installDate) = "" Then
installDate = objItem.InstalledOn
萬一

If IsDate(installDate) Then
如果 CDate(installDate) > dateFilter Then
WScript.Echo hotFixID & vbTab & installDate

' 呼叫您的刪除修補程序腳本或程式碼並將 hotFixID 和可選的機器名稱傳遞給它
萬一
萬一
下一個

引用自:https://serverfault.com/questions/487531