Quantcast
Channel: Configuration Manager 2007 Inventory forum
Viewing all articles
Browse latest Browse all 233

New WMI-Namespace in SMS_DEF.mof

$
0
0
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:
// 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?

Viewing all articles
Browse latest Browse all 233

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>