SCCM How to find the list of Software Updates patches installed Via Quick Fix Engineering

I’ve seen people requesting for reports of list of Software Updates (patches) installed on a system along with Installed date.


ConfigMgr is not collecting the list of Software Updates (patches) for Window 7/Vista/ 2008/ 2008 Core operating systems. Because, on these operating systems this information is stored in “Win32_QuickFixEngineering”  WMI class (it’s not anymore listed in Add Remove Programs) and the inventory of this class is NOT enabled in SMS_DEF.MOF (by def ault). Hence ConfigMgr. report won’t be able to provide these details unless and until you’ve enabled the appropriate WMI class in SMS_DEF.MOF.

Whereas, in Windows XP, Windows 2003 etc. operating systems, the list of Software Updates (patches) are stored in Add Remove Programs and the WMI class for Add Remove program is enabled by default in SMS_DEF.MOF. Hence you will get these details from ConfigMgr reports for Windows XP, Windows 2003 etc. systems.

It’s not recommended to enable “Win32_QuickFixEngineering” WMI class. Refer the warning given in the SMS_DEF.MOF file below.

DO NOT: Enable the Win32_QuickFixEngineering class unless you have installed the QFE for Q279225.  Enabling this class without the QFE will result in inventory cycles taking a very long time to complete on the client and the WINMGMT service using 99% to 100% CPU time and leaking memory.”

The easiest way to get details from a single system is given below.

One liner command to list down the patch details of a machine (applicable only for Window 7/Vista/ 2008/ 2008 Core operating systems).

Wmic qfe list >c:\list.txt

This will provide you the list of Software Update (patches) applied on a system along with Caption, CSName (Hostname of the system – computer name), Description (category of the software update – Update, Hotfix, Security Update etc…), HotFixID, InstalledBy, InstalledOn (Date of Installation)


One other excellent post on the same topic – Link

About Author 

Anoop is Microsoft MVP and Veeam Vanguard ! He is a Solution Architect on enterprise client management with more than 13 years of experience (calculation done on the year 2014) in IT. He is Blogger, Speaker and Local User Group Community leader. His main focus is on Device Management technologies like SCCM 2012,Current Branch, Intune. He writes about the technologies like SCCM, SCOM, Windows 10, Azure AD, Microsoft Intune, RMS, Hyper-V etc...

    Find more about me on:
  • googleplus
  • twitter
  • facebook
  • linkedin
  • youtube
Posted in: ConfigMgr (SCCM), SCCM, WMI


  1. Ajay says:

    Awesome information. Thanks Anoop for sharing it

  2. Siddharth says:

    Hi Anoop ,
    So the report’s like Enforcement States for a deployment and other related reports are also giving the same info like what systems are compliant ,failed deployments etc .
    So what about that information . Is that information not legitimate . I believe since its fetching data from SQL database it would be the information that client has sent after giving it’s status against a particular deployment .
    Please advice …
    Thanks in advance…

  3. Siddharth says:

    Please advice on this coz we are using sql reporting to fetch the data and i guess we are getting correct data on compliance of WIn7 machines .coz it also fetches data from SQL database .

  4. khader says:

    hai anoop c nair

    iam learning sccm2012 i want list of error codes iam search in google it show different error codes pls share it

  5. Any way to get the list of patches that are missing?

  6. Rahul Jindal says:

    Good article.

    On another note, to find out the list of patches that are missing on machines, a custom report can be created against view v_Update_ComplianceStatusAll with condition status=2

  7. Jim Coryat says:

    Great article Anoop. I don’t know if you have approached a software update report from this angle. But to emulate the “product” column in the software update list in the console. That way you can get metrics on how many updates are missing by the OS and what those updates are. Going against the System table and aggregating the OS Version does not seem to have the same values as the product column.



  8. Great article. Was struggling for a while to do this. Just a question, if my environment does not have any Win 2000, 2003, XP, do I still need to worry about the caution and install the hotfix?

  9. piyushnasa says:

    Hi Anoop,
    I am looking to create a dynamic collection which will add machines to it once a particular patch is installed. Can you help me with this please.


  10. HeyAdmin says:

    So if we enable the Win32_QuickFixEngineering WMI class for hardware inventory, in which view is that data stored?

  11. Excellent article Anoop, thanks a lot.

Leave a Comment and Contact Anoop