Managing BIOS settings on Intel NUC devices with PowerShell
In this post I will explain you how to manage BIOS settings for Intel NUC devices.
Context
- You have some Intel NUC devices
- You want to apply specific BIOS settings
- You want an automate way
The solution
To manage BIOS settings we will use the iSetupCfgWin64 tool.
This is an EXE that can be downloaded here.
See here the documentation.
Now let's see some examples.
Next post
According to me managing BIOS settings on NUC devices can be a real pain.
That's why I created a script allowing you to export BIOS settings config for a NUC device to a PowerShell array.
This way you can get all values for all settings as below:
You can then easily check each value for each setting and see if something is wrong.
I will show you this in the next post.
We will also create a CSV containing expected BIOS settings config and we will check on devices if the config applied is the same than in the CSV.
Export BIOS settings
Export existing BIOS settings config
We will use the iSetupCfgWin64.exe and pass below parameters:
- /o
- /s: indicates txt file containing the config
- /b: export boot order controls
See below the full cmdline:
See below an overview of the txt file:
Export settings whose current value is different from the default
We will use the iSetupCfgWin64.exe and pass below parameters:
- /o
- /s: indicates txt file containing the config
- /b: export boot order controls
- /ndef: export only those settings whose current value is different from the default
- /q: silent
See below the full cmdline:
See below an overview of the txt file:
Get specific setting value
We will use the iSetupCfgWin64.exe and pass below parameters:
- /o
- /ms: Indicates Map String
What is map string ?
Let's take again a config we have exported to a txt file.
For each parameter you will see option called Map String.
For instance below is the config for USB boot:
The Map String to specify is SPG0DA.
To get value of this setting the cmdline to use is:
See below the result:
Set BIOS settings
To set BIOS settings we will need below files:
- iSetupCfgWin64.exe
- amigendrv64.sys
Set a specific parameter
We will use below parameters:
- /i
- /ms: Indicates Map String
- /qv: value of he parameter
- /cpwd: specify the BIOS supervisor password
Let's take our previous example with USB boot.
See below the config:
The Map String to specify is SPG0DA.
Available values:
- 01: Enabled
- 00: Disabled
Now we want to enable this parameter.
The cmdline to use will be:
Set setting(s) without BIOS supervisor password
For this we will proceed as below:
1. Configure parameter iSetupCfg Password Check to Bypass
2. The password to use is*: admin
* it is a standard default password
3. The cmdline to use will be:
Set all BIOS settings
There we will set BIOS settings from a txt file.
We will proceed as below:
1. Export existing config to txt file
2. Manually change settings in txt file
3. Set BIOS settings using the new txt file
OR
1. Manually configure settings on a device
2. Export existing config to txt file
3. Set BIOS settings using the new txt file
The cmdline to use will be:
Set all BIOS settings without BIOS supervisor password
For this we will proceed as below:
1. Configure parameter iSetupCfg Password Check to Bypass
2. The password to use is*: admin
* it is a standard default password
3. The cmdline to use will be:
Set BIOS supervisor password
In this part we don't have a BIOS password yet.
1. Configure parameter iSetupCfg Password Check to Bypass
2. The password to use is*: admin
* it is a standard default password
3. The cmdline to use will be:
Enregistrer un commentaire