I'm trying to build a report on Windows 7 machines and their System Protection 
status. I've found the registry key that controls if System Protection is on 
and what it's set it. The problem is that the name of the key is 
{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513} and mofcomp gets cranky about the { }. 
I've tried using ^{ to escape the { as this article, 
http://support.microsoft.com/kb/2543399, advises but it hasn't made any 
difference yet.

Here's what I'm trying with the ^ in addition to what RegKeyToMof gave me:

Sms_def

// RegKeyToMOF by Mark Cochrane (thanks to Skissinger, Steverac, Jonas Hettich 
& Kent Agerlund)
// this section tells the inventory agent what to report to the server
// 11/5/2013 8:32:46 AM

#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("SystemProtection", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("SystemProtection"),SMS_Class_ID("Custom|SystemProtection|1.0"),
SMS_Context_1("__ProviderArchitecture=32|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class SystemProtection: SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(TRUE)] String ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}^[^];
};

#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("SystemProtection_64", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("SystemProtection"),SMS_Class_ID("Custom|SystemProtection|1.0"),
SMS_Context_1("__ProviderArchitecture=64|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class SystemProtection_64 : SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(TRUE)] String ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}^[^];
};

// RegKeyToMOF by Mark Cochrane (thanks to Skissinger, Steverac, Jonas Hettich 
& Kent Agerlund)
// this section tells the inventory agent what to collect
// 11/5/2013 8:32:46 AM

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("SystemProtection", NOFAIL)
[DYNPROPS]
Class SystemProtection
{
[key] string KeyName;
String ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}^[^];
};

[DYNPROPS]
Instance of SystemProtection
{
KeyName="RegKeyToMOF_32";
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows 
NT\\CurrentVersion\\SPP\\Clients|^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}"),Dynamic,Provider("RegPropProv")]
 ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^};
};

#pragma namespace ("\\\\.\\root\\cimv2")
#pragma deleteclass("SystemProtection_64", NOFAIL)
[DYNPROPS]
Class SystemProtection_64
{
[key] string KeyName;
String ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}^[^];
};

[DYNPROPS]
Instance of SystemProtection_64
{
KeyName="RegKeyToMOF_64";
[PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows 
NT\\CurrentVersion\\SPP\\Clients|^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^}"),Dynamic,Provider("RegPropProv")]
 ^{09F7EDC5-294E-4180-AF6A-FB0E6A0E9513^};
};

When compiling sms_def I get the error sms_def.mof (5495): error SYNTAX 
0X8004400c: Expected property or method name

Configruation.mof appears to compile without error but when I open it back up 
after compiling the additions are gone.

Tom Aguero
Shared Services | Information Technology
900 N Garver Rd, Monroe, OH 45050
Phone: 800.834.8001
techsupp...@sharedservices.cc<mailto:techsupp...@bakerconcrete.com>




Reply via email to