Loading...

PSGallery: Change BIOS settings from local or remote computer

1 A+ A-

In this post, I will show you a PowerShell module I created that allows you to change BIOS settings from a CSV file and for a local or remote computer.
It works for Dell, Lenovo and HP.

What is it ?
This module allows you to set BIOS settings from a CSV file that will contain settings to change.
You can change settings for the below manufacturers:
- Dell
- HP
- Lenovo
- Toshiba (soon)

How to install it ?
The module is available on the PowerShell gallery.
To install it, type: install-module SetBIOS

Available commands
To list avaible commands in the module, type: get-command -module GetBIOS.
This module is composed of one cdmlet called: SetBIOS

See the help part by typing get-help.

How works the CSV ?
As mentioned previously, the module works with a CSV file to apply change on BIOS settings.
You can add as much settings as you want in the CSV file. Then add new values in the second column. 
For that proceed as below:
1 / Create a CSV file
2 / The first column name should be Setting
3 / The second column name should be Value
4 / My CSV looks like as below:

Note: The first column should contain the exact setting name.

How to use it ?
Change local BIOS settings
1 / Type Set-BIOS
2 / Type the path of the CSV file when asked
3 / You can also use the cmdlet like this: Set-BIOS -Path "YourPath.csv" 
4 / If you have a password set to your BIOS, add the following parameter: -Password
5 / It will ask for your password as below:

4 / See below the result:

Change one remote computer BIOS settings
1 / Type Set-BIOS with parameter -Computer with the remote computer name
2 / Credentials will be prompted, as below:

3 / Type the path of the CSV file when asked
4 / You can also use the cmdlet like this: Set-BIOS -Computer "MyComputer" -Path "YourPath.csv" 
5 / If you have a password set to your BIOS, add the following parameter: -Password
6 / It will ask for your password

Change muliple remote computer BIOS settings
The list of remote computers should be located in TXT file, see below a sample:

1 / Type Set-BIOS with parameter -multiple
2 / Enter the path of the TXT file that contains the list of the remote computers
3 / Type the path of the CSV file
4 / You can also use cmdlet like this: Set-BIOS -Path "YourPath.csv" -multiple -List "ComputersList.txt"
5 / If you have a password set to your BIOS, add the following parameter: -Password
5 / It will ask for your password
5 / To change BIOS settings on multiple remote computers, add the manufacturer parameter with the appropriate vendor as below:
Set-BIOS -Computer -Path "YourPath.csv" -Vendor "Dell / Lenovo / HP"

Module in action
Change one remote computer settings

Change multiple remote computer settings
In the below example I type all parameter in the commandline.

In the below example, I select each option one by one and do not provide BIOS password.

remote bios 5335202253145654875

Enregistrer un commentaire

1 commentaire

Anonyme a dit…

Awesome Module! I am trying to make changes to HP Bios. I successfully changed a couple of settings. Wake on Lan and Hour and Minute for auto power on are not working. I typed the exact wording from the BIOS but I keep getting "can not change setting $". If you know all the setting that would be awesome. I am making BIOS changes for Over 300 HP computers. Thanks again! This already saved the org dozens of man hours making BIOS changes manually.

AB

Accueil item

Award

Learn KQL in one month

Sponsors

You want to support me ?

Mes articles en français

Books in French


Stats