Microsoft updates are divisive. They’re great when they work, but they are constantly nagging you to install them, can bring your computer to a crawl, and often break the things they were designed to protect (I’m looking at you, KB5000808 and KB5000802). So, let’s look at a few ways to roll back updates to prepare for the next time Microsoft throws us a curveball.
How to uninstall updates using the Control Panel
Uninstalling or rolling back updates using the Control Panel is pretty straightforward. The process hasn’t changed much over the years. This method works for both Windows 10 and Windows 11.
1. Click the search button and enter Control Panel into the search field.
2. Click on the Control Panel application.
3. In the Control Panel, click Uninstall a program.
4. Click View installed updates.
5. Select the update you need to remove and click Uninstall.
6. If you receive a prompt asking if you are sure you want to uninstall the update, click Yes. You may need to restart your computer after removing an update.
This process is easy enough for anyone to handle and is great for removing one update at a time. But what if Microsoft released a particularly troublesome batch of updates, and you have multiple updates to remove? Sure, you could repeat this method over and over again, or you could use a tool better suited for the job: PowerShell.
How to uninstall updates using PowerShell
PowerShell is the tool of choice for system administrators, and for a good reason. There’s not much that PowerShell can’t do these days. It’s particularly good at simplifying repetitive tasks. In this example, we’ll use PowerShell to remove multiple updates simultaneously.
Here’s their PowerShell script:
#Return all packages with the ReleaseType "Update"
$TotalUpdates = Get-WindowsPackage -Online | Where-Object{$_.ReleaseType -like "*Update*"}
#Set the KB number you wish to uninstall here. More KBs can be added by appending "|.*KB#######.*" (no spaces around the pipe and not including quotes) before the closing quotes
$Updates = ".*KB#######.*|.*KB#######.*|.*KB#######.*"
#Iterates through the returned updates
foreach ($Update in $TotalUpdates) {
#Gets the PackageName to expand package information, then matches the KB number from the update description, then removes the update.
Get-WindowsPackage -Online -PackageName $Update.PackageName | Where-Object {$_.Description -Match $Updates} | Remove-WindowsPackage -Online -NoRestart
}
This PowerShell script allows you to enter the KB numbers of the updates you want to remove, and then it silently removes them. You can add as many or as few KB numbers as needed. Keep in mind that while this script runs silently, the updates may not be entirely removed until you restart the computer.
Love PowerShell? Then you'll love PDQ Deploy & Inventory.
Deploy custom scripts in minutes. Try it for yourself for 14 days.
Deploying the PowerShell script using PDQ Deploy
If you’re a sysadmin and have been asked to remove updates from all the devices in your organization, you’ve got your work cut out for you. That is, unless you’re using PDQ Deploy, which can help you remove those updates in a matter of minutes.
Here’s how to deploy our PowerShell script across your network using PDQ Deploy.
1. With PDQ Deploy open, click New Package.
2. Enter a package name in the Name field.
3. Click New Step > PowerShell.
4. Enter the script into the PowerShell window. Make sure to add the KB numbers for the updates you want to remove to the script.
5. Click Save when you are finished and close the package creation window.
6. Right-click on the newly created package and click Deploy Once.
Anytime you need to roll back an update, you can modify this package with the KB number you need to remove and redeploy it. Perfect for the next time your test environment doesn’t catch a buggy update before it makes it out to your production environment!
PDQ and PowerShell have you covered
Don’t let a faulty patch ruin your day. PDQ and PowerShell can get your network environment back in shape in no time. PDQ can also help you roll back third-party applications, like Chrome, Java, Firefox, and many more.
If you’re not already using PDQ Deploy, download a free trial today and take it for a spin. You’ll be deploying packages and managing your devices in no time.