Script para desinstalar atualizações do MS por data

1

Estou em uma situação em que preciso desinstalar todas as atualizações do Windows antes de uma determinada data para solucionar um bug estranho. Eu encontrei vários scripts vb / ps para fazer isso

remova uma única atualização

No entanto, estou tentando chegar a algo nos moldes de onde date > 1/9/13 se livre disso!

A razão pela qual eu pergunto é que eu sinto que isso é algo que eu acabo encontrando de tempos em tempos e acabo consumindo bastante tempo. Alguma idéia?

Eu também encontrei o seguinte

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

No entanto, isso não parece retornar um conjunto de resultados preciso

Atualmente, estou trabalhando com uma caixa do Windows Server 2003. Agradecemos antecipadamente.

    
por bumble_bee_tuna 13.03.2013 / 18:50

1 resposta

1

Aqui está uma maneira de filtrar os hotfixes por data usando o VBScript. Você pode facilmente convertê-lo para o PowerShell, se necessário, ou apenas chamar seu código do PowerShell para remover cada hotfix que corresponda ao filtro.

On Error Resume Next
Dim strComputer
Dim objWMIService
Dim propValue
Dim objItem
Dim SWBemlocator
Dim UserName
Dim Password
Dim colItems

Dim dateFilter

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

strComputer = "."
UserName = ""
Password = ""
Set SWBemlocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = SWBemlocator.ConnectServer(strComputer,"root\CIMV2",UserName,Password)
Set colItems = objWMIService.ExecQuery("Select * from Win32_QuickFixEngineering",,48)
For Each objItem in colItems
    hotFixID = objItem.HotFixID
    installDate = objItem.InstallDate

    If IsNull(installDate) Or Trim(installDate) = "" Then
        installDate = objItem.InstalledOn
    End If

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

            ' Call your remove hotfix script or code and pass it the hotFixID and optionally, the machine name
        End If
    End If
Next
    
por 22.05.2013 / 13:28