Yeah, it gets complicated/counter-intuitive. Try this and ONLY this as a
"toBeImport.Mof":
#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("WinLogon", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("WinLogon"),SMS_Class_ID("WinLogon")]
Class WinLogon: SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(FALSE)] String ReportBootOk;
[SMS_Report(FALSE)] String Shell;
[SMS_Report(FALSE)] String PreCreateKnownFolders;
[SMS_Report(FALSE)] String Userinit;
[SMS_Report(FALSE)] String VMApplet;
[SMS_Report(FALSE)] Uint32 AutoRestartShell;
[SMS_Report(FALSE)] String Background;
[SMS_Report(FALSE)] String CachedLogonsCount;
[SMS_Report(FALSE)] String DebugServerCommand;
[SMS_Report(FALSE)] Uint32 ForceUnlockLogon;
[SMS_Report(FALSE)] String LegalNoticeCaption;
[SMS_Report(FALSE)] String LegalNoticeText;
[SMS_Report(FALSE)] Uint32 PasswordExpiryWarning;
[SMS_Report(FALSE)] String PowerdownAfterShutdown;
[SMS_Report(FALSE)] String ShutdownWithoutLogon;
[SMS_Report(FALSE)] String WinStationsDisabled;
[SMS_Report(FALSE)] Uint32 DisableCAD;
[SMS_Report(FALSE)] String scremoveoption;
[SMS_Report(FALSE)] Uint32 ShutdownFlags;
[SMS_Report(TRUE)] String AutoAdminLogon;
[SMS_Report(TRUE)] String DefaultUserName;
[SMS_Report(FALSE)] String DefaultDomainName;
[SMS_Report(FALSE)] String DefaultPassword;
[SMS_Report(FALSE)] Uint32 AutoLogonCount;
[SMS_Report(FALSE)] Uint32 GpNetworkStartTimeoutPolicyValue;
};
From both a 32-bit and a 64-bit OS, confirm that box types report what you
think you want that to report.
Here's the short answer of why it works:
CM12 now is both a 64bit client and a 32bit client.
So for this SPECIFIC example, the winlogin regkeys you are looking for aren't
in the "look elsewhere for 32-bit app information". On both 32 and 64 bit
OS... it's in hklm\software\normal... NotTheWin6432node Redirected location if
the OS happens to be 64.
The answer changes if you ARE looking for 32-bit app information on a 64-bit
system. So don't just take the next mof edit and do the exact same thing.
That might be the wrong answer for the next custom edit.
Oh, and I skipped about 3 steps in my explanation. the real problem is that
you are trying to import a cm07 sms_def.mof edit. and cm12 just doesn't get
it. It needs to be cm12 "to be imported" from regkeytomof. You can't just
copy/paste from your cm07 mof files straight into cm12... there are subtle
changes to any custom mof edits that just don't work in cm12 (as you've seen,
the unique class id message)
On Monday, June 2, 2014 4:05 PM, "Miller, Todd" <[email protected]> wrote:
I have a problem/question with a MOF edit.
I am moving some MOF edits I made from 2007 to 2012 and am running into a
little trouble with the ones that have conditional 32/64 components to them.
Let’s take Winlogon for example. I collect data from the Winlogon reg key to
catch autologon machines.
I have the configuration.mof edited and working… but I am running into trouble
importing the sms_def.mof when there is conditional statements in the reporting
class. When I try to import this into SCCM 2012, it complains that there are
duplicates. The importer is not smart enough to know that only one or the
other reporting classes can be run. Works fine in SCCM 2007. Anything I can
do about it? Can I edit the sms_def.mof manually or make SCCM override this
error checking? Does SCCM 2012 remove the ability to merge/union 32 and 64bit
registry reads into a single reporting class (that’s been available since SMS
2003?)
// <:[-<>>>>>>>>>>>>>>>>>>>>>>>>>>>Start>>-AutoLogon Reporting
Class-<<Start<<<<<<<<<<<<<<<<<<<<<<<<<>-]:>
#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("WinLogon", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("WinLogon"),SMS_Class_ID("MICROSOFT|WinLogon|1.0"),
SMS_Context_1("__ProviderArchitecture=32|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class WinLogon: SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(FALSE)] String ReportBootOk;
[SMS_Report(FALSE)] String Shell;
[SMS_Report(FALSE)] String PreCreateKnownFolders;
[SMS_Report(FALSE)] String Userinit;
[SMS_Report(FALSE)] String VMApplet;
[SMS_Report(FALSE)] Uint32 AutoRestartShell;
[SMS_Report(FALSE)] String Background;
[SMS_Report(FALSE)] String CachedLogonsCount;
[SMS_Report(FALSE)] String DebugServerCommand;
[SMS_Report(FALSE)] Uint32 ForceUnlockLogon;
[SMS_Report(FALSE)] String LegalNoticeCaption;
[SMS_Report(FALSE)] String LegalNoticeText;
[SMS_Report(FALSE)] Uint32 PasswordExpiryWarning;
[SMS_Report(FALSE)] String PowerdownAfterShutdown;
[SMS_Report(FALSE)] String ShutdownWithoutLogon;
[SMS_Report(FALSE)] String WinStationsDisabled;
[SMS_Report(FALSE)] Uint32 DisableCAD;
[SMS_Report(FALSE)] String scremoveoption;
[SMS_Report(FALSE)] Uint32 ShutdownFlags;
[SMS_Report(TRUE)] String AutoAdminLogon;
[SMS_Report(TRUE)] String DefaultUserName;
[SMS_Report(FALSE)] String DefaultDomainName;
[SMS_Report(FALSE)] String DefaultPassword;
[SMS_Report(FALSE)] Uint32 AutoLogonCount;
[SMS_Report(FALSE)] Uint32 GpNetworkStartTimeoutPolicyValue;
};
#pragma namespace ("\\\\.\\root\\cimv2\\SMS")
#pragma deleteclass("WinLogon_64", NOFAIL)
[SMS_Report(TRUE),SMS_Group_Name("WinLogon"),SMS_Class_ID("MICROSOFT|WinLogon|1.0"),
SMS_Context_1("__ProviderArchitecture=64|uint32"),
SMS_Context_2("__RequiredArchitecture=true|boolean")]
Class WinLogon_64 : SMS_Class_Template
{
[SMS_Report(TRUE),key] string KeyName;
[SMS_Report(FALSE)] String ReportBootOk;
[SMS_Report(FALSE)] String Shell;
[SMS_Report(FALSE)] String PreCreateKnownFolders;
[SMS_Report(FALSE)] String Userinit;
[SMS_Report(FALSE)] String VMApplet;
[SMS_Report(FALSE)] Uint32 AutoRestartShell;
[SMS_Report(FALSE)] String Background;
[SMS_Report(FALSE)] String CachedLogonsCount;
[SMS_Report(FALSE)] String DebugServerCommand;
[SMS_Report(FALSE)] Uint32 ForceUnlockLogon;
[SMS_Report(FALSE)] String LegalNoticeCaption;
[SMS_Report(FALSE)] String LegalNoticeText;
[SMS_Report(FALSE)] Uint32 PasswordExpiryWarning;
[SMS_Report(FALSE)] String PowerdownAfterShutdown;
[SMS_Report(FALSE)] String ShutdownWithoutLogon;
[SMS_Report(FALSE)] String WinStationsDisabled;
[SMS_Report(FALSE)] Uint32 DisableCAD;
[SMS_Report(FALSE)] String scremoveoption;
[SMS_Report(FALSE)] Uint32 ShutdownFlags;
[SMS_Report(TRUE)] String AutoAdminLogon;
[SMS_Report(TRUE)] String DefaultUserName;
[SMS_Report(FALSE)] String DefaultDomainName;
[SMS_Report(FALSE)] String DefaultPassword;
[SMS_Report(FALSE)] Uint32 AutoLogonCount;
[SMS_Report(FALSE)] Uint32 GpNetworkStartTimeoutPolicyValue;
};
// <:[-<>>>>>>>>>>>>>>>>>>>>>>>>>>>End>>-AutoLogon Reporting
Class-<<End<<<<<<<<<<<<<<<<<<<<<<<<<>-]:>
Notice: This UI Health Care e-mail (including attachments) is covered by the
Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and
may be legally privileged. If you are not the intended recipient, you are
hereby notified that any retention, dissemination, distribution, or copying of
this communication is strictly prohibited. Please reply to the sender that you
have received the message in error, then delete it. Thank you.