
PowerShell is a powerful scripting and automation tool in the Windows operating system that allows you to interact with various system components, including the BIOS settings. This guide explores how to use Windows PowerShell to view and change BIOS/UEFI settings on a Windows computer. This guide covers how to check your BIOS/UEFI version, make changes to specific settings, and use third-party modules for vendor-specific management. Also, see Manage MS365 Accounts with PowerShell, Create and Delete Registry Keys via PowerShell in Windows and How to monitor Windows Server backup via PowerShell.
Please note that not all BIOS settings can be accessed or modified through PowerShell, as it depends on your computer’s manufacturer and model. Here are other related guides: How to automate Windows Update with PowerShell and Task Scheduler, and how to run Set-ExecutionPolicy RemoteSigned to allow the execution of scripts signed by a trusted publisher.
1. Retrieving BIOS Information:
Before you start working with PowerShell to manage your BIOS settings, it’s a good practice to check your current BIOS version. This information may be required for troubleshooting and ensuring compatibility with the changes you intend to make.
Press the Windows key, type “PowerShell” and click on run as administrator.

To check the BIOS version, you can use the following PowerShell command:
Get-WmiObject -Class Win32_BIOS | Select-Object -Property Manufacturer, Version

This command will provide you with the manufacturer and version of your BIOS.
To check the BIOS information like SMBIOSBIOSVersion, manufacturer, serial number, and more, you can use the following PowerShell command:
Get-CimInstance -Class Win32_BIOS

To view the full list of BIOS parameters available in the Win32_BIOS WMI class use the following PowerShell command:
Get-WmiObject -Class Win32_BIOS | Format-List *

To get BIOS information directly from registry, use the following PowerShell command:
Get-ItemProperty -Path HKLM:\HARDWARE\DESCRIPTION\System\BIOS

2. Managing BIOS Settings with GET-BIOS Module:
Please see How to check the BIOS version on Windows, how to install SCConfigMgr Driver Automation Tool on Windows, and how to update the BIOS on your Dell system.
Installing the Get-BIOS Module:
To install the Get-BIOS module from PSGallery to manage BIOS/UEFI settings on Dell, HP, Lenovo, and Toshiba devices use the following PowerShell command:
Install-Module GetBIOS

Viewing BIOS Settings:
Use PowerShell with the Get-BIOS module to view your computer’s BIOS settings and parameters.
Get-BIOS
Advanced Options with Get-BIOS:
Explore additional features like displaying BIOS parameter descriptions and possible values using the Get-BIOS module.
Get-BIOS -ShowDescription
Managing Lenovo BIOS Settings:
You may want to see how to Get a list of installed applications on Windows, and how to perform Windows 10 Yoga Recovery: Download the files needed to create a Lenovo USB Recovery key.
Listing Lenovo BIOS Options:
To list available BIOS options and their values on Lenovo devices using specific WMI classes:
Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi | select-object InstanceName, currentsetting
Checking BIOS Password:
To check if a BIOS password is set on your Lenovo computer, use the following command:
(gwmi -Class Lenovo_BiosPasswordSettings -Namespace root\wmi).PasswordState
If the value returned is 0, then your BIOS password is not set.
Managing Dell BIOS Settings:
Viewing Dell BIOS Options:
To view the boot device order in BIOS on Dell computers using PowerShell commands:
Get-WmiObject -NameSpace root\dellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder
Enabling Wake on LAN (WoL) on Dell:
To use PowerShell to enable Wake on LAN in the BIOS of Dell devices:
(Get-WmiObject DCIM-BIOSService -namespace rootdcimsysman).SetBIOSAttributes($null,$null,"Wake-On-LAN","4")
Conclusion:
By following this comprehensive guide, you can effectively use Windows PowerShell to manage BIOS/UEFI settings on a variety of Windows devices. Whether you want to check your BIOS version, change specific settings, or use third-party modules for vendor-specific management, PowerShell offers a flexible and powerful solution for your BIOS management needs.
FAQs
Using PowerShell to change BIOS settings is generally safe if you’re familiar with the settings you’re modifying and have the necessary administrative permissions. However, it’s crucial to exercise caution, as incorrect changes can potentially disrupt your system’s stability. Always ensure that you have backups of critical data and know how to revert settings in case of any issues.
To use PowerShell for BIOS management, you typically need administrative privileges on your computer. Additionally, you should have a good understanding of PowerShell basics, particularly the cmdlets and modules relevant to BIOS management. Some vendor-specific instructions may require specific modules or tools to be installed, so it’s essential to follow the guide’s steps carefully and ensure you meet any specific requirements for your device.
I hope you found this blog post helpful on Using PowerShell to View and Change BIOS Settings. Please let me know in the comment section if you have any questions.