We used the RegKeyToMof utility to create the extensions for the .mof files. A copy of the .mof files are used on all our other primary site servers, so I believe they are correct. (That was the first thing I checked. :)) I can also confirm that workstations
are successfully sending their hardware inventory to the primary site server in question.
Here is the added code to the Configuration.mof:
#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("Profile", NOFAIL)
[DYNPROPS]
Class Profile
{
[key] string KeyName;
String Company[];
String LastLogon;
String MostLoggedOnUser;
String Assignments[];
};
[DYNPROPS]
Instance of Profile
{
KeyName="RegKeyToMOF_32";
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Profile|Company"),Dynamic,Provider("RegPropProv")] Company;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Profile|LastLogon"),Dynamic,Provider("RegPropProv")] LastLogon;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Profile|MostLoggedOnUser"),Dynamic,Provider("RegPropProv")] MostLoggedOnUser;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Profile|Assignments"),Dynamic,Provider("RegPropProv")] Assignments;
};
#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("Profile_64", NOFAIL)
[DYNPROPS]
Class Profile_64
{
[key] string KeyName;
String Company[];
String LastLogon;
String MostLoggedOnUser;
String Assignments[];
};
[DYNPROPS]
Instance of Profile_64
{
KeyName="RegKeyToMOF_64";
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Profile|Company"),Dynamic,Provider("RegPropProv")] Company;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Profile|LastLogon"),Dynamic,Provider("RegPropProv")] LastLogon;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Profile|MostLoggedOnUser"),Dynamic,Provider("RegPropProv")] MostLoggedOnUser;
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Profile|Assignments"),Dynamic,Provider("RegPropProv")] Assignments;
};
Here is the added code to the SMS_Def.mof:
#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("Profile", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("Profile"),SMS_Class_ID("Custom|Profile|1.0"),
SMS_Context_1("__ProviderArchitecture=32|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class Profile: SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(TRUE)] String Company[];
[SMS_Report(TRUE)] String LastLogon;
[SMS_Report(TRUE)] String MostLoggedOnUser;
[SMS_Report(TRUE)] String Assignments[];
};
#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("Profile_64", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("Profile"),SMS_Class_ID("Custom|Profile|1.0"),
SMS_Context_1("__ProviderArchitecture=64|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class Profile_64 : SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(TRUE)] String Company[];
[SMS_Report(TRUE)] String LastLogon;
[SMS_Report(TRUE)] String MostLoggedOnUser;
[SMS_Report(TRUE)] String Assignments[];
};