Check and apply available BIOS updates (or downgrades)


Get-HPBIOSUpdates [[-Platform] <String>] [[-Format] <String>] [[-Latest]] [[-Target] <String>] [[-All]] [<CommonParameters>]

Get-HPBIOSUpdates [[-Platform] <String>] [[-Target] <String>] [-Download] [[-Version] <String>] [[-SaveAs] <String>] [[-Quiet]] [[-Overwrite]] [<CommonParameters>]

Get-HPBIOSUpdates [[-Platform] <String>] [[-Check]] [<CommonParameters>]

Get-HPBIOSUpdates [[-Platform] <String>] [[-Target] <String>] [-Flash] [[-Password] <String>] [[-Version] <String>] [[-SaveAs] <String>] [[-Quiet]] [[-Overwrite]] [[-Yes]] [[-BitLocker] <String>] [[-Force]] [[-Url] <String>] [[-Offline]] [[-NoWait]] [<CommonParameters>]


This function uses an internet service to retrieve the list of BIOS updates available for a platform, and optionally checks it against the current system.

The result is a series of records, with the following definition:

  • Ver - the BIOS update version
  • Date - the BIOS release date
  • Bin - the BIOS update binary file

Online Mode uses Seamless Firmware Update Service that can update the BIOS in the background while the operating system is running (no authentication needed). 2022 and newer HP computers with Intel processors support Seamless Firmware Update Service. Offline Mode updates the BIOS after reboot and this mode requires authentication (password or payload).


Name Argument Description
Platform <String> The Platform ID to check. It can be obtained via Get-HPDeviceProductID. The Platform ID cannot be specified for a flash operation. If not specified, current Platform ID is checked.
Format <String> The file format (XML, JSON, CSV, list) to output. If not specified, a list of PowerShell objects is returned.
Latest If specified, only return or download the latest available BIOS version between remote and local. If -Platform is specified, local BIOS will not be read and the latest BIOS version available remotely will be returned.
Check If specified, return true if the latest version corresponds to the installed version or installed version is higher, false otherwise. This check is only valid when comparing against current platform.
Target <String> Execute the command on specified target computer. If not specified, the command is executed on the local computer.
All Include all known BIOS update information. This may include additional data such as dependencies, rollback support, and criticality.
Download Download the BIOS file to the current directory or a path specified by SaveAs.
Flash Apply the BIOS update to the current system.
Password <String> Specify the BIOS password, if a password is active. This switch is only used when -flash is specified.
- Use single quotes around the password to prevent PowerShell from interpreting special characters in the string.
Version <String> The BIOS version to download. If not specified, the latest version available will be downloaded.
SaveAs <String> The filename for the downloaded BIOS file. If not specified, the remote file name will be used.
Quiet Do not display a progress bar during BIOS file download.
Overwrite Force overwriting any existing file with the same name during BIOS file download. This switch is only used when -download is specified.
Yes Answer 'yes' to the 'Are you sure you want to flash' prompt. To prevent flashing the BIOS accidentally it is recommended to not specify Yes by default.
BitLocker <String> Provide an answer to the BitLocker check prompt (if any). The value may be one of:
stop - (default option) stop if BitLocker is detected but not suspended, and prompt
ignore - skip the BitLocker check
suspend - suspend BitLocker if active, and continue
Force Force the BIOS to update even if the target BIOS is already installed.
Url <String> Alternate Url source to provide platform's BIOS update catalog (xml)
Offline This parameter selects the offline mode to flash the BIOS instead of the default online mode. If specified the actual flash will only occur after reboot at pre-OS environment. This mode is selected by default when downgrading the BIOS version and requires authentication so either a Password or a PayloadFile should be specified.
NoWait If specified, the script does not wait for the online flash background task to finish. If the user reboots the PC during the online flash it will complete only after reboot.


  • Flash is only supported on Windows 10 1709 (Fall Creators Updated) and later.
  • UEFI boot mode is required for flashing; legacy mode is not supported.
  • The flash operation requires 64-bit PowerShell (not supported under 32-bit PowerShell).

WinPE notes

  • Use '-BitLocker ignore' when using this function in WinPE, as BitLocker checks are not applicable in Windows PE.
  • Requires that the WInPE image is built with the component.


PS C:\> Get-HPBIOSUpdates