Does the JSS SCCM Plugin Allow for additional WMI Classes?

tim_arnold
New Contributor II

Hello All,

I am trying bring some monitor information into SCCM via the JSS SCCM Plugin. I have already created extension attributes to gather all the information that I need.

But, I am having trouble dropping my information into SCCM. I have attempted to create a new Instance ParentClass to store this data in. I have verified that the Win32_DesktopMonitor Hardware Inventory Class is enabled in the Default Client Settings. I have verified that my XSL will transform the XML properly.

When I try to send the file to SCCM, the new WMI Class does not show under Resource Explorer.

Does anyone know if the JSS SCCM plugin allow for mapping additional WMI Classes? If so, I have XSL conversion test below.

Anyone know what I'm missing?? @drhoten Any thoughts?

<!-- Desktop Monitor -->
        <Instance ParentClass="Win32_DesktopMonitor" Class="Win32_DesktopMonitor" Namespace="\MAC" Content="New">
            <Win32_DesktopMonitor>    
                <DeviceID>12112</DeviceID>              
                <Description/>
                <DisplayType/>
                <MonitorManufacturer/>
                <MonitorType/>
                <Name/>
                <PixelsPerXLogicalInch/>
                <PixelsPerYLogicalInch/>
                <ScreenHeight/>
                <ScreenWidth/>
            </Win32_DesktopMonitor>
        </Instance>
1 ACCEPTED SOLUTION

drhoten
Contributor II

Hi Tim -

Yes, it is definitely possible to map a new WMI class to SCCM using the XSL file.

8c649000ad2a43f89427d7935c783c8d

The tricky part of mapping the WMI classes to SCCM, is knowing what data should be mapped to each field. If you get it wrong, SCCM will reject the report and the data will not be imported.

Trying out your sample XSL, it did not work but I used the following steps to track down why.

1) In the Configuration Manager console, go to MonitoringOverviewSystem StatusComponent Status and search for the SMS_INVENTORY_DATA_LOADER component. Right-click on it and show all error messages.

2) Review the error messages to see if any MIF files could not be processed. In this case, I saw

Inventory Data Loader failed to read the delta MIF file "C:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxProcessXH6KD301S.MIF" and will move the file to the BADMIFs directory.

3) Now that there’s confirmation the report could not be processed, check out C:Program FilesMicrosoft Configuration ManagerLogsdataldr.log for why it could not be processed.

Compilation failed~syntax error on line 5790, token 'End Attribute'

Then a few lines later

Cannot process MIF XH6KD301S.MIF, moving it to C:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxBADMIFSErrorCode_4zfmjsn15.MIF

4) Open the bad MIF report zfmjsn15.MIF in a text editor and move to line 5790 plus 1 and review the attributes. The attribute DisplayType does not have a value, but SCCM is expecting an integer.

Start Attribute Name = "DisplayType" ID = 3 Type = Integer Value = End Attribute

5) The documentation for Win32_DesktopMonitor at https://msdn.microsoft.com/en-us/library/aa394122(v=vs.85).aspx shows the DisplayType should be a value of 1-5.

6) Went back and changed <DisplayType/> to <DisplayType>0</DisplayType> and the report was processed and new class appeared in the resource explorer.

I hope that moves you in the right direction.

Doug

View solution in original post

3 REPLIES 3

drhoten
Contributor II

Hi Tim -

Yes, it is definitely possible to map a new WMI class to SCCM using the XSL file.

8c649000ad2a43f89427d7935c783c8d

The tricky part of mapping the WMI classes to SCCM, is knowing what data should be mapped to each field. If you get it wrong, SCCM will reject the report and the data will not be imported.

Trying out your sample XSL, it did not work but I used the following steps to track down why.

1) In the Configuration Manager console, go to MonitoringOverviewSystem StatusComponent Status and search for the SMS_INVENTORY_DATA_LOADER component. Right-click on it and show all error messages.

2) Review the error messages to see if any MIF files could not be processed. In this case, I saw

Inventory Data Loader failed to read the delta MIF file "C:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxProcessXH6KD301S.MIF" and will move the file to the BADMIFs directory.

3) Now that there’s confirmation the report could not be processed, check out C:Program FilesMicrosoft Configuration ManagerLogsdataldr.log for why it could not be processed.

Compilation failed~syntax error on line 5790, token 'End Attribute'

Then a few lines later

Cannot process MIF XH6KD301S.MIF, moving it to C:Program FilesMicrosoft Configuration Managerinboxesauthdataldr.boxBADMIFSErrorCode_4zfmjsn15.MIF

4) Open the bad MIF report zfmjsn15.MIF in a text editor and move to line 5790 plus 1 and review the attributes. The attribute DisplayType does not have a value, but SCCM is expecting an integer.

Start Attribute Name = "DisplayType" ID = 3 Type = Integer Value = End Attribute

5) The documentation for Win32_DesktopMonitor at https://msdn.microsoft.com/en-us/library/aa394122(v=vs.85).aspx shows the DisplayType should be a value of 1-5.

6) Went back and changed <DisplayType/> to <DisplayType>0</DisplayType> and the report was processed and new class appeared in the resource explorer.

I hope that moves you in the right direction.

Doug

tim_arnold
New Contributor II

Thank you so much! Not only did you help resolve my issue, but you also showed how to track the problem down!!

This is amazing!

scottb
Honored Contributor

That's above and beyond, @drhoten. This place rocks thanks to people like this.