//================================================================== // // Configuration.mof - WMI configuration that will be compiled on // SMS clients. // // Copyright (c) Microsoft Corporation, All Rights Reserved // //================================================================== //================================================================== // Define registry classes for inventory reporting // // - Registry key/value class definition should be done in cimv2, // - SMS class definition should be done in cimv2\\sms //================================================================== //---------------------- // Add Remove Programs //---------------------- #pragma namespace ("\\\\.\\root\\cimv2") [ dynamic, provider("RegProv"), ClassContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall") ] class Win32Reg_AddRemovePrograms { [key] string ProdID; [PropertyContext("DisplayName")] string DisplayName; [PropertyContext("InstallDate")] string InstallDate; [PropertyContext("Publisher") ] string Publisher; [PropertyContext("DisplayVersion")] string Version; }; [ dynamic, provider("RegProv"), ClassContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall") ] class Win32Reg_AddRemovePrograms64 { [key] string ProdID; [PropertyContext("DisplayName")] string DisplayName; [PropertyContext("InstallDate")] string InstallDate; [PropertyContext("Publisher") ] string Publisher; [PropertyContext("DisplayVersion")] string Version; }; //---------------------- // Virtual PC //---------------------- #pragma namespace ("\\\\.\\root\\cimv2") [DYNPROPS] class Win32Reg_SMSGuestVirtualMachine { [key] string InstanceKey; string PhysicalHostName; string PhysicalHostNameFullyQualified; }; [DYNPROPS] instance of Win32Reg_SMSGuestVirtualMachine { InstanceKey = "VPCKey"; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostName"), Dynamic, Provider("RegPropProv")] PhysicalHostName; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostNameFullyQualified"), Dynamic, Provider("RegPropProv")] PhysicalHostNameFullyQualified; }; [DYNPROPS] class Win32Reg_SMSGuestVirtualMachine64 { [key] string InstanceKey; string PhysicalHostName; string PhysicalHostNameFullyQualified; }; [DYNPROPS] instance of Win32Reg_SMSGuestVirtualMachine64 { InstanceKey = "VPCKey"; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostName"), Dynamic, Provider("RegPropProv")] PhysicalHostName; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Virtual Machine\\Guest\\Parameters|PhysicalHostNameFullyQualified"), Dynamic, Provider("RegPropProv")] PhysicalHostNameFullyQualified; }; //---------------------- // Advanced Client Ports //---------------------- #pragma namespace ("\\\\.\\root\\cimv2") #pragma deleteclass("Win32Reg_SMSAdvancedClientPorts", NOFAIL) [DYNPROPS] class Win32Reg_SMSAdvancedClientPorts { [key] string InstanceKey; uint32 PortName; uint32 HttpsPortName; }; [DYNPROPS] instance of Win32Reg_SMSAdvancedClientPorts { InstanceKey = "SMSPortKey"; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpPort"), Dynamic, Provider("RegPropProv")] PortName; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpsPort"), Dynamic, Provider("RegPropProv")] HttpsPortName; }; //-------------------------------------------- // Advanced Client SSL Security COnfigurations //-------------------------------------------- #pragma namespace ("\\\\.\\root\\cimv2") #pragma deleteclass("Win32Reg_SMSAdvancedClientSSLConfiguration", NOFAIL) [DYNPROPS] class Win32Reg_SMSAdvancedClientSSLConfiguration { [key] string InstanceKey; uint32 HttpsStateFlags; string CertificateStore; string CertificateSelectionCriteria; string InternetMPHostName; uint32 SelectFirstCertificate; uint32 ClientAlwaysOnInternet; }; [DYNPROPS] instance of Win32Reg_SMSAdvancedClientSSLConfiguration { InstanceKey = "SMSSSLConfiguration"; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM|HttpsState"), Dynamic, Provider("RegPropProv")] HttpsStateFlags; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Certificate Store"), Dynamic, Provider("RegPropProv")] CertificateStore; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Certificate Selection Criteria"), Dynamic, Provider("RegPropProv")] CertificateSelectionCriteria; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\SMS\\Client\\Internet Facing|Internet MP Hostname"), Dynamic, Provider("RegPropProv")] InternetMPHostName; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|Select First Certificate"), Dynamic, Provider("RegPropProv")] SelectFirstCertificate; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Microsoft\\CCM\\Security|ClientAlwaysOnInternet"), Dynamic, Provider("RegPropProv")] ClientAlwaysOnInternet; }; // Declare the class to prevent older clients from sending error status messages #pragma namespace("\\\\.\\root") instance of __Namespace { Name = "ccm" ; }; #pragma namespace("\\\\.\\root\\ccm") instance of __Namespace { Name = "SoftwareMeteringAgent" ; }; #pragma namespace("\\\\.\\root\\ccm\\SoftwareMeteringAgent") class CCM_RecentlyUsedApps { [Key] string FolderPath; [Key] string ExplorerFileName; [Key] string LastUserName; string OriginalFileName; string FileVersion; uint32 FileSize; string ProductName; string ProductVersion; string CompanyName; uint32 ProductLanguage; string FileDescription; uint32 LaunchCount; datetime LastUsedTime; string ProductCode; string AdditionalProductCodes; string msiDisplayName; string msiPublisher; string msiVersion; string SoftwarePropertiesHash; string FilePropertiesHash; }; #pragma namespace("\\\\.\\root") instance of __Namespace { Name = "ccm" ; }; #pragma namespace("\\\\.\\root\\ccm") //-------------------------------------------- // CCM_LogicalMemoryConfiguration //-------------------------------------------- #pragma namespace("\\\\.\\root\\cimv2") [Union,ViewSources{"select Name,FreeVirtualMemory,SizeStoredInPagingFiles,TotalVisibleMemorySize,TotalVirtualMemorySize from Win32_OperatingSystem"},ViewSpaces{"\\\\.\\root\\cimv2"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class CCM_LogicalMemoryConfiguration { [PropertySources{"FreeVirtualMemory"}] uint64 AvailableVirtualMemory; [PropertySources{"Name"},key] string Name; [PropertySources{"SizeStoredInPagingFiles"}] uint64 TotalPageFileSpace; [PropertySources{"TotalVisibleMemorySize"}] uint64 TotalPhysicalMemory; [PropertySources{"TotalVirtualMemorySize"}] uint64 TotalVirtualMemory; }; //---------------------- // Windows Update //---------------------- #pragma namespace ("\\\\.\\root\\cimv2") #pragma deleteclass("Win32Reg_SMSWindowsUpdate", NOFAIL) [DYNPROPS] class Win32Reg_SMSWindowsUpdate { [key]string InstanceKey; uint32 UseWUServer; uint32 NoAutoUpdate; uint32 AUOptions; }; [DYNPROPS] instance of Win32Reg_SMSWindowsUpdate { InstanceKey = "Windows Update"; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU|UseWUServer"), Dynamic, Provider("RegPropProv")] UseWUServer; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU|NoAutoUpdate"), Dynamic, Provider("RegPropProv")] NoAutoUpdate; [PropertyContext("local|HKEY_LOCAL_MACHINE\\Software\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU|AUOptions"), Dynamic, Provider("RegPropProv")] AUOptions; }; #pragma namespace ("\\\\.\\root\\cimv2") //---------------------- // Office365ProPlusConfigurations //---------------------- #pragma namespace ("\\\\.\\root\\cimv2") #pragma deleteclass("Office365ProPlusConfigurations", NOFAIL) [DYNPROPS] Class Office365ProPlusConfigurations { [key] string KeyName; String InstallationPath; String ClientFolder; String VersionToReport; String ClientCulture; String CDNBaseUrl; String UpdatesEnabled; String AutoUpgrade; String UpdateChannel; String cfgUpdateChannel; String Platform; String UpdateUrl; String SharedComputerLicensing; String GPOChannel; String UpdatePath; String LastScenario; String LastScenarioResult; String OfficeMgmtCOM; String CCMManaged; String GPOOfficeMgmtCOM; }; [DYNPROPS] Instance of Office365ProPlusConfigurations { KeyName="Office365ProPlusConfigurations"; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|InstallationPath"),Dynamic,Provider("RegPropProv")] InstallationPath; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|ClientFolder"),Dynamic,Provider("RegPropProv")] ClientFolder; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|VersionToReport"),Dynamic,Provider("RegPropProv")] VersionToReport; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|ClientCulture"),Dynamic,Provider("RegPropProv")] ClientCulture; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|CDNBaseUrl"),Dynamic,Provider("RegPropProv")] CDNBaseUrl; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|UpdatesEnabled"),Dynamic,Provider("RegPropProv")] UpdatesEnabled; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|AutoUpgrade"),Dynamic,Provider("RegPropProv")] AutoUpgrade; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\office\\16.0\\common\\officeupdate|updatechannel"),Dynamic,Provider("RegPropProv")] UpdateChannel; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|updatechannel"),Dynamic,Provider("RegPropProv")] cfgUpdateChannel; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|Platform"),Dynamic,Provider("RegPropProv")] Platform; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|UpdateUrl"),Dynamic,Provider("RegPropProv")] UpdateUrl; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|SharedComputerLicensing"),Dynamic,Provider("RegPropProv")] SharedComputerLicensing; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\office\\16.0\\common\\officeupdate|updatebranch"),Dynamic,Provider("RegPropProv")] GPOChannel; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\office\\16.0\\common\\officeupdate|updatepath"),Dynamic,Provider("RegPropProv")] UpdatePath; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun|LastScenario"),Dynamic,Provider("RegPropProv")] LastScenario; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun|LastScenarioResult"),Dynamic,Provider("RegPropProv")] LastScenarioResult; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Office\\ClickToRun\\Configuration|OfficeMgmtCOM"),Dynamic,Provider("RegPropProv")] OfficeMgmtCOM; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\CLSID\\{B7F1785F-D69B-46F1-92FC-D2DE9C994F13}|(Default)"),Dynamic,Provider("RegPropProv")] CCMManaged; [PropertyContext("Local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\office\\16.0\\common\\officeupdate|officemgmtcom"),Dynamic,Provider("RegPropProv")] GPOOfficeMgmtCOM; }; #pragma namespace ("\\\\.\\root\\cimv2") //======================== // Added extensions start //======================== //——————————————— // SQL 2019 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement15"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2019 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2017 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement14"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2017 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2016 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement13"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2016 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2014 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement12"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2014 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2012 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement11"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2012 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2008 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement10"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2008 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //——————————————— // SQL 2000/2005 Properties //——————————————— [UNION, ViewSources{"select IsReadOnly,PropertyIndex,PropertyName,PropertyNumValue,PropertyStrValue,PropertyValueType,ServiceName,SqlServiceType from sqlServiceAdvancedProperty"},ViewSpaces{"\\\\.\\root\\microsoft\\sqlserver\\computermanagement"}, dynamic,Provider("MS_VIEW_INSTANCE_PROVIDER")] class SQL_2000_And_2005 { [PropertySources{"IsReadOnly"} ] Boolean IsReadOnly; [PropertySources{"PropertyIndex"},KEY ] UInt32 PropertyIndex; [PropertySources{"PropertyName"},KEY ] String PropertyName; [PropertySources{"PropertyNumValue"} ] UInt32 PropertyNumValue; [PropertySources{"PropertyStrValue"} ] String PropertyStrValue; [PropertySources{"PropertyValueType"} ] UInt32 PropertyValueType; [PropertySources{"ServiceName"},KEY ] String ServiceName; [PropertySources{"SqlServiceType"},KEY] UInt32 SqlServiceType; }; //======================== // Added extensions end //========================