按date卸载MS更新的脚本

我在某种情况下,我需要卸载所有的Windows更新之前某个date排除一个奇怪的错误。 我发现几个VB / PS脚本来做到这一点

删除单个更新

然而,我试图得到的东西沿线date> 1/9/13摆脱它!

我问的原因是我觉得这是我最终偶尔碰到的事情,结果相当耗时。 有任何想法吗 ?

我也发现了以下内容

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

但是,这似乎并没有返回一个准确的结果集

我目前正在使用Windows Server 2003框。 提前致谢。

以下是使用VBScript按date过滤修补程序的一种方法。 如果需要,您可以轻松地将其转换为PowerShell,或者只需调用您的PowerShell代码以删除与filter匹配的每个修补程序。

在错误恢复下一步
昏暗的strComputer
 Dim objWMIService
 Dim propValue
 Dim objItem
昏暗SWBemlocator
昏暗的用户名
暗淡的密码
昏暗的colItems

昏暗的dateFilter

 dateFilter = CDate(“1/9/2013”​​)

 strComputer =“。”
 UserName =“”
密码=“”
设置SWBemlocator = CreateObject(“WbemScripting.SWbemLocator”)
设置objWMIService = SWBemlocator.ConnectServer(strComputer,“root \ CIMV2”,用户名,密码)
 Set colItems = objWMIService.ExecQuery(“Select * from Win32_QuickFixEngineering”,48)
对于colItems中的每个对象
     hotFixID = objItem.HotFixID
     installDate = objItem.InstallDate

    如果IsNull(installDate)或Trim(installDate)=“”那么
         installDate = objItem.InstalledOn
    万一

    如果IsDate(installDate)那么
        如果CDate(installDate)> dateFilter那么
             WScript.Echo hotFixID&vbTab&installDate

             '调用您的删除修补程序脚本或代码,并将hotFixID和可选的机器名称传递给它
        万一
    万一
下一个