An Alternate Way to Check if Computers Have a Particular Windows Update Installed

BatchPatch provides a way for you to generate an update history report for all of your computers to see which computers have installed or have not installed particular updates. There is a tutorial that illustrates this method for update history reporting here: Create a Consolidated Report of Windows Update History

However, there is another way to accomplish this task that I’d like to share with you here. If you have any issues with the other method or if that method isn’t providing the information to you in a way that suits your needs, you could try this alternate method to figure out if a particular Windows Update has been or has not been installed on target systems. Depending on the situation you might find one method more suitable or desirable than the other.

Let’s say for the sake of this example that the update you want to check your computers for is KB3150513. We can use a WMIC command to ask Windows if this update is already installed or not. The command line syntax would be:

WMIC QFE WHERE HotFixID='KB3150513' GET HotFixID

Another way to write this command is:

WMIC PATH Win32_QuickFixEngineering WHERE HotFixID='KB3150513' GET HotFixID

And if you want to look for more than one update, you can also structure your command as follows:

WMIC QFE WHERE (HotFixID='KB3150513' or HotFixID='KB4015217' or HotFixID='KB4015438' or HotFixID='KB4014329' or HotFixID='KB4013418') get HotFixID

If you were to run one of the above commands at the command prompt of a given computer, you would see something like this. Note that in the second command only 2 of the specified KB IDs were found, so only 2 were printed in the result list:

However, it’s not all that practical to log on to every single target computer just to run the command above. After all, that’s why you have BatchPatch in the first place– so that you can execute commands and retrieve information from numerous computers, simultaneously. To execute one of these commands from BatchPatch on numerous target computers you can simply use the ‘Remote command (logged output)’ feature in BatchPatch.

  1. Go to ‘Actions > Execute remote process / command > Create / modify remote commands (logged output)’
  2. In the window that appears we need to add a new row and insert our command, as shown in the screenshot below:
  3. After clicking OK to the ‘remote commands (logged output)’ window we can now simply select the desired rows in the grid (I only have one computer available for testing at the moment), and then select ‘Actions > Execute remote process / command > Execute saved remote commands (logged output)’ and then click on the desired command that we just created a moment ago.
  4. When the query completes, if it finds the specified update has been installed, then it will display just like my screenshot below. If the update is not found, then the result will be empty instead.
This entry was posted in Blog, General, Tutorials and tagged , , , . Bookmark the permalink. Both comments and trackbacks are currently closed.