Get HP Product Number via Powershell
I have put together a robust HP Warrant Lookup PowerShell script. However, I cannot figure out how to get a HP system's product number in an automated process. So...
How can I get HP product number (not the serial number) via PowerShell? Although I would like to do with only built-in out-of-the-box Windows and PowerShell commands, I am open to other ideas. In the end, the ultimate goal is retrieve the product number in the most reliable and least invasive way possible (i.e. installing 3rd software).
Troubleshooting
Tried:
Get-WmiObject Win32_ComputerSystem | Select-Object OEMStringArray
Result:
{ABS 70/71 79 7A 7B 7C, CMS v01.4A, HP_Mute_LED_0, www.hp.com}
... But expecting to find XT908UT#ABA
Solution 1:
Here are some methods that work for various computer models.
Method 1 : Registry
The HP product number is in the registry so can be retrieved in PowerShell
HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS
item SystemSKU
.
More information and script can be found in the article :
How to: Find the HP Product Number of all your HP server using powershell.
Method 2 : root\wmi – MS_SystemInformation
Class MS_SystemInformation contains the product number in its member SystemSKU
.
(Presumably it gets it from the registry as in the first method.)
For more info see Richard Siddaway's Blog.
Method 3 : Class Win32_BIOS
The following fragment finds the product number for some computer makes. Tested on Dell.
Get-WmiObject Win32_BIOS | Select-Object SerialNumber
The Microsoft reference information is found in the article Win32_BIOS class.
Solution 2:
This is tested on a HP Laptop. I think HP "Product number" is called SystemSKUNumber in win32_computersystem WMI. Tested on my HP laptop.
Get-WmiObject win32_computersystem | Select-Object SystemSKUNumber
Will result in:
SystemSKUNumber
---------------
J9A12EA#ABN