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.
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;