In BatchPatch we have a menu item ‘Actions > Windows updates > Uninstall individual update’ that you can use to easily remove a single Windows update from numerous target computers, simultaneously. This command invokes wusa.exe on target computers to uninstall the desired update. We have a tutorial posted for this feature here. The only problem is that beginning with Windows 10 and 2016, this feature no longer works. You can still use it without issue to uninstall updates on older OSes such as Windows 7, Windows 2008, and Windows 2012, but for whatever reason Microsoft removed some of the functionality from wusa.exe on newer operating systems. You can’t use wusa.exe with the /quiet parameter to remove an individual Windows update from Windows 10 or Windows 2016. We agree, this is pretty darn annoying.
In the next release of BatchPatch we will have a new macro that allows you to remove an update from Windows 10 or 2016, but in the meantime if you need to remove an update from one of these newer operating systems, here is what you need to do:
- Select the desired hosts in the grid and choose ‘Actions > Execute remote process/command > Create/modify remote command 1’
- In the remote process/command window you’ll enter the following command. Replace KB4014329 with the KB ID of the update that you would like to remove.
cmd.exe /c echo . | powershell.exe -ExecutionPolicy Bypass -command "$SearchUpdates = dism /online /get-packages | findstr 'Package_for'; $updates = $SearchUpdates.replace('Package Identity : ', '') | findstr 'KB4014329'; DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart"
- At this point you can either click ‘Apply command to row(s) without executing’ so that you can execute it later. Or you can just click ‘Execute’ which will apply the command to the row(s) and then execute it immediately. Additionally, if you need/want to save this command for future use you can also add it to ‘Actions > Execute remote/process command > Create/modify remote commands.’ Once added there it will appear in the BatchPatch actions menu for future use.
That’s really all there is to it. As mentioned above, we will be adding a macro for this command in the next version of BatchPatch, so that you can more easily execute it by simply providing the KB ID of the update that you want to remove. However, for the time being, this is your best bet for remotely removing an update from numerous computers. Of course there is always the option of going to each computer one by one to remove the update manually, but that’s a pain, especially when dealing with numerous computers.