Windows-Server-2003
按日期解除安裝 MS 更新的腳本
我的情況是,我需要在某個日期之前解除安裝所有 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 和可選的機器名稱傳遞給它 萬一 萬一 下一個