Google Reviews
If you find this content or our services useful, please leave us a review.

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
Comments have now been disabled. If you have a question to ask about this post please ask the community!