venerdì 19 aprile 2019

How to find BIOS versions available for HP Business PC


How to find BIOS versions available for HP Business PC


I'm not a Powershell expert , I do most of the scripts surfing the Internet to see what to others do.
In this post I explain how to use HP CMS library (CMS stands for Client management Script) to discover for a single computer or for a list of computer models which is latest BIOS version available from HP or the full history.

For HP Business PC I mean all notebooks , desktop, All-in-One, Slice , mobile workstation , desktop workstation produced by HP using an HP developed BIOS. so those HP CMS scripts don't work on HP consumer PCs or entry level business PC using a non-hp BIOS.

a list of products that should work with these HP CMS scripts could be this

  • Probook 400 and 600 series
  • Prodesk 400 and 600 series
  • Elitebook 700 , 800 and 1000 series
  • EliteDesk 700, 800 and 1000 series
  • mobile workstation zbook
  • Desktop workstation Z
some scripts works only with Windows 10 starting from 1709 version with BIOS set in UEFI mode.
As I'm able to check every single model and Windows 7 in legacy mode, it's up to you to try if you have older computers.

Powershell minimum version required is 3.0. I use version 5.


In this post I cover just an argument

steps:
  1. download the HP CMS library from here https://ftp.hp.com/pub/caps-softpaq/cmit/hp-cmsl.html
  2. install them
  3. open a Administrator Windows Powershell
  4. if needed change the security setting about PS script execution using this command
    • set-executionpolicy unrestricted
  5. then execute one of these  :
    • get-hpbiosUpdates
    • get-hpbiosUpdates -format csv
    • get-hpbiosUpdates -format list
    • get-hpbiosUpdates -format json

you will discover how many BIOS versions are available for your HP computer.
if you want to now only latest version available today , just add -latest to the above cmdlet

  • get-hpbiosUpdates -format list -latest
if you want to now the BIOS history of another model , add -platform XXXX to the above commands. XXXX stands for the exadecimal number that identify an HP motherboard. for example for HP Elite X2 1013 G3, the sys ID is 8414
you can discover sysID in various way. Using HP CMS , run this command to know sysID
on your computer run:

  • get-HPDeviceProductID
    • result is a 4 digit exadecimal number such as 83B2 if you have an Elitebook 840 G5
you can discover sys ID of a HP computer in your network using :
  • get-HPDeviceProductID - target host_name or IP_address
  • get-HPDeviceProductID -target 192.168.1.35
    • 8414
then you can have the BIOS history of 8414
  • get-hpbiosUpdates  -platform 8414
output will be


now , what if you want to know latest BIOS version of a known computer list ? 
you have to create the list, including model name and sys ID and run the command for each model.
I created a script for these purpose.
The script includes the list and the functions needed to do the work for you



this is the formatted output
PS C:\SoftpaqRepository1.2> .\create_bios_list.ps1


you can modify the script at your convenience.

bye
Franco

Nessun commento:

Posta un commento