Kae Travis

Uninstall Windows Updates Based On Date

Posted on by in PowerShell

I recently needed a quick PowerShell script to uninstall windows updates based on date.

In the example below, i wanted to uninstall any Windows Updates that had been installed on or after 01/01/2022.

cls

$ListOfHotfixes = Get-HotFix | Select hotfixid,description,installedby,@{label="InstalledOn";e={[DateTime]::Parse($_.psbase.properties["installedon"].value,$([System.Globalization.CultureInfo]::GetCultureInfo("en-US")))}} | Where-Object InstalledOn -gt ([DateTime]::Parse('01/01/2022'))


foreach ($item in $ListOfHotfixes)
{
    $hotfixid = $item.hotfixid
    write-host $hotfixid
    $hotfixidwithoutkb = $item.hotfixid.replace("KB","")

    Start-Process -FilePath "C:\Windows\System32\wusa.exe" -ArgumentList @("/uninstall","/kb:$hotfixidwithoutkb","/quiet","/norestart") -Wait

}
Uninstall Windows Updates Based On Date
Uninstall Windows Updates Based On Date

Leave a Reply