As a companion to the local policy for CCM_RecentlyUsedApps, mof edits to pull back local policies.
//============================
// Add to SMS_Def.mof
//============================
#pragma namespace("\\\\.\\root\\cimv2\\sms")
#pragma deleteclass("win32_LocalPolicies",NOFAIL)
[SMS_Report(TRUE), SMS_Group_Name("Local Policies"),
SMS_Class_ID("CUSTOM|win32_LocalPolicies|1.0")]
class win32_LocalPolicies : SMS_Class_Template
{
[SMS_Report(TRUE), key] string PolicyID;
[SMS_Report(TRUE), key] string PolicyInstanceID;
[SMS_Report(TRUE), key] string PolicyRuleID;
[SMS_Report(TRUE), key] string PolicySource;
[SMS_Report(TRUE), key] string PolicyVersion;
};
//============================
// Add to Configuration.mof if ConfigMgr07
//============================
#pragma namespace("\\\\.\\root\\cimv2")
[union, ViewSources{"select policyid,policyinstanceid,policyruleid,policysource,policyversion from CCM_Policy where PolicySource='Local'"}, ViewSpaces{"\\\\.\\root\\ccm\\policy\\machine\\requestedconfig"}, Dynamic, provider ("MS_VIEW_INSTANCE_PROVIDER")]
class win32_LocalPolicies
{
[PropertySources{"PolicyID"}, Key] string PolicyID;
[PropertySources{"PolicyInstanceID"}, Key] string PolicyInstanceID;
[PropertySources{"PolicyRuleID"}, Key] string PolicyRuleID;
[PropertySources{"PolicySource"}, Key] string PolicySource;
[PropertySources{"PolicyVersion"}, Key] string PolicyVersion;
};
I did a quick spot-check; it'll pull back other local policies, like local policy overrides for disabling specific agents (like Remote Control, or SW Distrib), but it may not be easily discernable what a particular local policy is for. Once you get local policy information back, you might need to do some research to be able to pair up (via a select case report) PolicyID of {someRandomChar} means a particular agent is disabled.