Hello,
I try to inventory information about Monitors from the new WMI-Class \root\WMI\WmiMonitorID
This is what i added to my sms_def.mof:
It seems to me that the SCCM-Server is checking for the new WmiMonitorIDView Class from the new sms_def.mof but it is not creating the new entries into root\CMIV2 through the provider i defined. Thats why just the Test-Client is inventoried because it already holds the new data because of the manual run of mofcomp before.
My question is: Why is the SCCM-Server not running the Provider wich is defined at the bottom of sms_def.mof on the other clients. It worked manual on the client, why doesn't it over the server?
I try to inventory information about Monitors from the new WMI-Class \root\WMI\WmiMonitorID
This is what i added to my sms_def.mof:
// Provider für \\root\\WMI Namespace #pragma namespace("\\\\.\\Root\\CIMV2") instance of __Win32Provider as $DataProv { Name = "MS_VIEW_INSTANCE_PROVIDER"; ClsId = "{AA70DDF4-E11C-11D1-ABB0-00C04FD9159E}"; ImpersonationLevel = 1; PerUserInitialization = "True"; }; instance of __InstanceProviderRegistration { Provider = $DataProv; SupportsPut = True; SupportsGet = True; SupportsDelete = True; SupportsEnumeration = True; QuerySupportLevels = {"WQL:UnarySelect"}; }; [union, ViewSources{"Select * from WmiMonitorID"}, ViewSpaces{"\\\\.\\root\\WMI"}, Dynamic : ToInstance, provider("MS_VIEW_INSTANCE_PROVIDER")] class WmiMonitorIDView { [PropertySources("Active") ] boolean Active; [PropertySources("InstanceName"), key ] string InstanceName; [PropertySources("ManufacturerName") ] uint16 ManufacturerName[]; [PropertySources("ProductCodeID") ] uint16 ProductCodeID[]; [PropertySources("SerialNumberID") ] uint16 SerialNumberID[]; [PropertySources("UserFriendlyName") ] uint16 UserFriendlyName[]; [PropertySources("UserFriendlyNameLength") ] uint16 UserFriendlyNameLength; [PropertySources("WeekOfManufacture") ] uint8 WeekOfManufacture; [PropertySources("YearOfManufacture") ] uint16 YearOfManufacture; }; // Klasse für WmiMonitorIDView Instanz #pragma namespace("\\\\.\\root\\cimv2\\sms") [ SMS_Report (True), SMS_Group_Name ("WmiMonitorIDView"), SMS_Class_ID ("BAYERNOIL|WmiMonitorID|1.0") ] class WmiMonitorIDView : SMS_Class_Template { [SMS_Report (TRUE) ] boolean Active; [SMS_Report (TRUE), key] string InstanceName; [SMS_Report (TRUE) ] uint16 ManufacturerName[]; [SMS_Report (FALSE) ] uint16 ProductCodeID[]; [SMS_Report (TRUE) ] uint16 SerialNumberID[]; [SMS_Report (TRUE) ] uint16 UserFriendlyName[]; [SMS_Report (FALSE) ] uint16 UserFriendlyNameLength; [SMS_Report (TRUE) ] uint8 WeekOfManufacture; [SMS_Report (TRUE) ] uint16 YearOfManufacture; };The values from the client machine on wich i tested my new MOF-File (manual mofcomp.exe and check the entries with wbemtest.exe) are collected on the SCCM Server and I can query them with CfgMgr.
It seems to me that the SCCM-Server is checking for the new WmiMonitorIDView Class from the new sms_def.mof but it is not creating the new entries into root\CMIV2 through the provider i defined. Thats why just the Test-Client is inventoried because it already holds the new data because of the manual run of mofcomp before.
My question is: Why is the SCCM-Server not running the Provider wich is defined at the bottom of sms_def.mof on the other clients. It worked manual on the client, why doesn't it over the server?