ConfigMgr Inventory SystemSKUNumber, Product & BIOSVersion for Device Mapping

TLDR: Add Custom WMI Class MS_SystemInformation, and grab it from there.

Related Content: Adding to Your Hardware Inventory – Recast Software (Adding Product into Inventory which is used by HP)

Why? I use SystemSKUNumber for Driver Pack matching on Dell Systems similar to how I use Product for HP devices. Having this information in your CM Inventory makes it easier when you’re doing your mapping in the Task Sequence. Getting all of this information in one class makes it pretty handy.

Product is in Win32_BaseBoard, BIOSVersion in Win32_BIOS, and SystemSKUNumber is in Win32_ComputerSystem. ConfigMgr inventories Win32_ComputerSystem by default, however, if you noticed, SystemSKUNumber is NOT an option to check the box for. I’ve seen people hack CM’s MOF to add it, which I would never recommend modifying native MOF files:
SCCM Query BIOS SystemSKU – Inventory and Deployment (microsoft.com)

Since all 3 items in in the one WMI Class, it made it a simple place to grab it all from.

Quick Test to make sure it has the info I wanted, and confirm information is the same in both spots.

#SystemSKU (Dell / Surface)
(Get-CimInstance -ClassName Win32_ComputerSystem).SystemSKUNumber
(Get-CimInstance -Namespace root\wmi -ClassName MS_SystemInformation).SystemSKU

#Product (HP)
(Get-CimInstance -Namespace root/cimv2 -ClassName Win32_BaseBoard).Product
(Get-CimInstance -Namespace root\wmi -ClassName MS_SystemInformation).BaseBoardProduct

#BIOSVersion (Lenovo uses first 4)
(Get-CimInstance -ClassName Win32_BIOS).SMBIOSBIOSVersion
(Get-CimInstance -Namespace root\wmi -ClassName MS_SystemInformation).BIOSVersion

You can see, this one class has all three items needed to support model mapping for the big OEM vendors

Adding Class to Hardware Inventory

In your Default Settings, Hardware Inventory area, connect to Root\WMI and Recursive

Search on MS_System
When it comes up, check the box

Then select the information you want, I’m adding a few more which covers the 4 vendors of Devices I test with.

SQL

Dell /Surface use SKU | HP Use Product | Lenovo use First 4 of BIOSVersion

SELECT
si.SystemProductName0 AS Model,
COUNT(*) AS Count
,si.BaseBoardProduct0
,si.SystemSKU0
,si.BIOSVersion0
FROM

v_GS_MS_SYSTEMINFORMATION SI
where si.SystemProductName0 not like 'Virt%'
and si.SystemProductName0 not like 'HVM%'
GROUP BY si.SystemProductName0,si.BaseBoardProduct0, si.SystemSKU0,si.BIOSVersion0
order by Count(*) DESC;

GARYTOWN.COM

2 thoughts on “ConfigMgr Inventory SystemSKUNumber, Product & BIOSVersion for Device Mapping”

  1. can someone tell me how to embed a SystemSKU in an existing SCCM-report ?
    f.E: in the “Hardware 09A – Search for computers” report?

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.