guidox / Hardware

Identify Your Exact Laptop Model and BIOS Version

TL;DR

Read **Win32_ComputerSystemProduct**, **Win32_BIOS** and **Win32_BaseBoard** in one go. The product name plus the BIOS version identifies the support page and the update you need.

Before you start

Requirements

  • Windows 11
  • 5 minutes
Step by step

Instructions

01

Read the system identity

**Win32_ComputerSystemProduct** holds the vendor's product name and the identifying number. That number is what the support site accepts.

Get-CimInstance Win32_ComputerSystemProduct | Select-Object Vendor,Name,Version,IdentifyingNumber
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer,Model,SystemFamily,SystemSKUNumber
02

Read the firmware and board

**Win32_BIOS** gives the SMBIOS version, the release date and the firmware type. A BIOS from three years ago explains a lot of device quirks.

Get-CimInstance Win32_BIOS | Select-Object Manufacturer,SMBIOSBIOSVersion,ReleaseDate,Version
Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer,Product,Version,SerialNumber
Get-CimInstance Win32_ComputerSystem | Select-Object PCSystemType
03

Check the UEFI and Secure Boot state

Firmware updates from a vendor often require UEFI mode and a specific Secure Boot state. Knowing both avoids a failed flash.

$env:firmware_type
Confirm-SecureBootUEFI
Get-CimInstance Win32_ComputerSystem | Select-Object BootupState
Get-CimInstance -Namespace root\wmi -ClassName MS_SystemInformation | Select-Object BIOSVendor,BIOSVersion,BaseBoardProduct
04

Compare against the installed driver set

The installed driver dates show whether the vendor package is actually applied. A generic Windows driver on a laptop chipset is a common reason for missing features.

Get-CimInstance Win32_PnPSignedDriver | Where-Object { $_.DeviceClass -in 'SYSTEM','PROCESSOR' } | Select-Object DeviceName,DriverVersion,DriverDate | Sort-Object DriverDate -Descending | Select-Object -First 10
Get-WindowsDriver -Online | Select-Object -First 5 Driver,ProviderName,Date
05

Match the model to the right support page

The product name on the sticker and the name in SMBIOS differ. Search the vendor site with the SMBIOS value, not the marketing name, and note the board revision.

Get-CimInstance Win32_ComputerSystemProduct | Select-Object -ExpandProperty Name
Get-CimInstance Win32_ComputerSystem | Select-Object -ExpandProperty Model
Start-Process 'https://support.microsoft.com'
06

Save the identity for later

A file with the model, serial and BIOS version saves a disassembly when the machine will not boot and you need the support page from another device.

$id = [pscustomobject]@{ Model=(Get-CimInstance Win32_ComputerSystem).Model; Serial=(Get-CimInstance Win32_BIOS).SerialNumber; Bios=(Get-CimInstance Win32_BIOS).SMBIOSBIOSVersion; Board=(Get-CimInstance Win32_BaseBoard).Product; Date=(Get-CimInstance Win32_BIOS).ReleaseDate }
$id | Format-List
$id | ConvertTo-Json | Set-Content "$env:USERPROFILE\laptop-identity.json"
Troubleshooting

Common issues

Model shows a generic string

A whitebook or a machine with a replaced board. Use the board product name and the serial number instead.

The serial number is all zeros

The firmware was flashed without a serial, common on refurbished units. The sticker under the battery is the fallback.

Get-CimInstance is slow

WMI queries compile on first use. Repeat the query, or read the same values from the registry under HKLM\HARDWARE\DESCRIPTION\System.

The vendor page does not recognise the model

The SMBIOS string often has a regional suffix. Drop the suffix and search again, or use the serial number lookup.

FAQ

Frequently asked

Is the serial number sensitive?

It identifies the device and can be used for warranty lookups. Do not post it in public forums.

Does a BIOS update improve performance?

Sometimes, through power and thermal tables. Read the release notes for your exact model before flashing.

Can I read these values without Windows?

The firmware setup shows the model and the BIOS version on its main page, which works even when the OS will not boot.

How to undo this

Nothing is changed by reading these values. Delete laptop-identity.json if you do not want the record on disk.

Changelog · 1 entry
  1. 2026-11-01
    First version
Interactive version: checklist, feedback, related guides →

Free · no account needed · tracks your progress