Checking Patch Statuses through WMI

Normally the optimal and quickest way to determine if a patch has definitely been installed on a system is to use WMI. That's where the SCCM client primarily gets its information from to report back to its parent. There are several ways you can go about but the ways i've found to be ideal for me are described below:

Through the command prompt:

  1. On the system which you wish to query, open up command prompt
  2. Run "Wmic /namespace:\\root\ccm\softwareupdates\updatesstore path CCM_UpdateStatus get status, Article, Bulletin, UniqueId"
  3. This will show you ALL updates on the particular system. I've added additional information for reference but you can always play around with what you wish to see returned.
  4. This is best for an overview and you can quickly do a find or filter to determine a patch status if you pipe it to a txt file.

Through the Wbemtest User Interface:

  1. Start "WBEMTEST" from a run prompt
  2. Connect to the namespace "\\<computername>\root\ccm\softwareupdates\updatesstore
  3. Select the Query button and using WQL, create a statement that suits your needs. Some examples are below:
    1.  
      • Searching for a Missing Patch that is for Web Components would be:
        •  select * from ccm_updatestatus where status = "missing" and title like "%web%"
      • Searching for all installed patches would be:
        • select * from ccm_updatestatus where status = 'installed'

 

Depending on your requirements / needs, have fun! Wbemtest is very useful for quick references to WMI to determine patch statuses whenever you are suspecting the integrity of data received from SCCM due to possible sync issues.