#SCCM / #Configmgr How to get Client Cache Size using MOF file for Reporting

By Default,Client Cache information is not collected by Configuration Manager.You should do some customizations to get it working.

This blog post talks about how to create Custom MOF file and import into SCCM as custom hardware inventory class which will be applied onto clients as policy to get the information from WMI .

Save the below code into file with file_name.mof.

[ SMS_Report (TRUE),
  SMS_Group_Name ("SMS Advanced Client Cache"),
  Namespace ("\\\\\\\\.\\\\root\\\\ccm\\\\softmgmtagent") ]
class CacheConfig : SMS_Class_Template
    [ SMS_Report (TRUE), key ]
    String     ConfigKey;
    [ SMS_Report (TRUE) ]
    Boolean     InUse;
    [ SMS_Report (TRUE) ]
    String     Location;
    [ SMS_Report (TRUE) ]
    UInt32     Size;

Note:Please Replace the Quotes (‘”) ,blog converts them to fancy.

Open Configmgr 2012 Console,Move onto Administration pane—>Client Settings ,you see Default Client settings.

Note :Don't try to do it on custom client hardware inventory settings which you have created ,If you do so,it will not work.

Below is error code what you get if you try to import to Custom hardware inventory settings.

The following classes for which you are trying to import settings do not exist.  Import the required class definitions and then try to import the settings again.”

image Always import /Add the custom hardware inventory classes onto Default Client settings .These changes will be automatically flow into Custom client hardware inventory settings.

image Click on Set Classes and then Click on Import


Select the MOF file that we created above.


Select what is required for you.

image Monitor dataldr.log on the site server if these changes successfully processed or not ?


From above we conclude that,these changes are inserted into Database.

You can also verify from UI ,select what fields you required and what not .image

From the SCCM client machine,you see the following changes when the hardware inventory schedule runs:



Below is the collection, you can create to know how man clients do not meet the required cache size.

select *  from  SMS_R_System inner join SMS_G_System_SMS_ADVANCED_CLIENT_CACHE on SMS_G_System_SMS_ADVANCED_CLIENT_CACHE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_SMS_ADVANCED_CLIENT_CACHE.Size < 10240 

Thanks to MOF Master Sherry for providing the MOF file.

8 Responses to "#SCCM / #Configmgr How to get Client Cache Size using MOF file for Reporting"

  1. Many thanks for the reporting, this is exactly what I was searching for. 🙂
    One question; the cache size (in your example 10240) in the qurey is in MB, correct?!

  2. Hi,

    Can we have report for disk space usage on all servers in collection, Report should contain all size of folders on C drive excluding folder such as c:\program files c:\windows.


Leave a Reply