martedì 23 aprile 2019

How to update the BIOS of PC over the network , "on premise" solution

in this post I explain how to update the BIOS of PCs in intranet without requiring the PC to access internet to get BIOS file.

I know several methods to update the BIOS of an HP Business PC. in this post I just describe how to update the BIOS of PC running Windows 10 , BIOS in UEFI mode and disk with GPT partition scheme.
I doesn't work if disk has MBR partitions in legacy mode.
as usual you need Powershell HP Client Management Script Library form here https://ftp.hp.com/pub/caps-softpaq/cmit/hp-cmsl.html , download and install the package on you management console. 
Run a second time the installation package and extract the HP modules in  C:\SWSetup\ps1.2\

As the script I wrote needs to access Windows Remote Management (WinRM) service running on the remote PC , the management console user must have the right to access  WinRM service of the remote PC and be able to run an invoke-command on remote PC.

The script does these actions:
  1. verifies that  management console user is able to access WinRM of remote client, otherwise exit
  2. creates an array of HP computers with these information:
    1. model name , is a string of your preference
    2. system ID , exadecimal number  , used to identify the model
    3. bios version, must match the format returned by HP cmdlet get-HPBIOSVersion
    4. bios file name 
    5. you have to manually create this list or you can create it using another PS script.
    6. example : ("840G5","83b2","1.06.00","Q78_010600.bin") , more in the script
  3. gets information from remote PC: Model string , SysID and BIOS version
  4. compares sysid and BIOS version with values written in the array.
  5. if PC sysid is not found in array list , exit
  6. if PC is found , BIOS version read from PC is compared with BIOS version in the array; if they match , exit
  7. if BIOS versions are different , overwrite (update) the BIOS version of remote PC
  8. HP PS scripts and BIOS.bin files are copied from management console to remote PC folder 
  9. an invoke-command will execute cmdlet UPdate-HPFirmware on remote PC 
  10. BIOS will be update at next reboot. user can't interrupt it

in order to have this script working, you must have on management console all BIOS files of your model.
you can use the script on my other post "How to quickly download the BIOS of your HP Business PC". both script must have the same model string.

this is my script

end of the scipt

Nessun commento:

Posta un commento