How to configure Samsung BIOS settings using WMI and PowerShell
Last updated on 2023-06-21
Introduction
This document provides instructions for IT administrators using WMI (Windows Management Instrumentation) and Windows PowerShell to configure the BIOS settings of their remote Samsung Galaxy Book2 client devices.
Supported models
Samsung provides a BIOS WMI interface for the Galaxy Book2 and Book3 series of devices. This document provides instructions for the following models:
Galaxy Book3
- Galaxy Book3 Ultra (2023)
- Galaxy Book3 Pro 360 (2023)
- Galaxy Book3 Pro 360 5G (2023)
- Galaxy Book3 Pro (2023)
- Galaxy Book3 360 (2023)
- Galaxy Book3 (2023)
- Galaxy Book Edu 360(2023)
- Galaxy Book2 Pro (2023)
Galaxy Book2
- Galaxy Book2 Pro 360 (2022)
- Galaxy Book2 Pro (2022)
- Galaxy Book2 360 (2022)
- Galaxy Book2 (2022)
- Galaxy Book2 Business (2022)
Prerequisites
Before proceeding with this document, you must ensure that you have the following:
- Microsoft Windows 11 Operating System
- PowerShell for Windows (See https://docs.microsoft.com/en-us/powershell/ for more information)
- Samsung BIOS WMI interface rev 4 or higher
Verify BIOS WMI interface version
To verify your BIOS WMI interface version, connect to the device, then run PowerShell and enter the following command:
gwmi -namespace root\samsung -class biosmanager).GetRevision()
Entering this command would produce the following output:
PS> (gwmi -namespace root\samsung -class biosmanager).GetRevision()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Revision : 4
PSComputerName :
If your system shows a Revision
number lower than 4
, please update your device’s system BIOS to the latest version.
Retrieve current BIOS setting values
The following PowerShell command lets you retrieve the current BIOS setting values:
(gwmi -namespace root\samsung -class biosmanager).Get([ItemCode])
See Appendix A for a list of [ItemCode]
values.
Using an ItemCode example of 0x1000, we see the following output:
PS> (gwmi -namespace root\samsung -class biosmanager).Get(0x1000)
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Data : 2
ItemCode : 1000
RetCode : 0
PSComputerName :
Depending on the ItemCode value entered, you’ll see a result in the Data
field corresponding to the possible query values. In the example of ItemCode : 0x1000
, the possible values (referring to Appendix A) are either 1
or 2
.
Whenever you retrieve a BIOS setting, you’ll also see a RetCode
(Return Code) value. RetCode : 0
indicates that the query was successful. See Appendix B for a full list of possible RetCode values.
Note
For certain ItemCodes like Supervisor Password
(0x3000)
and User Password(0x3001)
, you cannot use the.Get()
function to return the actual value. In other words, you cannot use.Get(0x3000)
to view the actual Supervisor password in theData
field. Instead, entering the.Get()
function will return the following Data field responses:
Data : Password Exists
indicates that a supervisor or user password has been set.Data : None
indicates that a supervisor or user password has not been set.
Change BIOS settings
Before you can make any changes to the BIOS settings, you have to first create a Supervisor Password in the Samsung BIOS Configuration menu. To create the Supervisor Password, press F2 on the keyboard during system start up, then navigate to the Security tab.
After the Supervisor Password gets created, you’ll need to enter this same password (as a means of authentication) whenever you want to make BIOS setting changes. In general, the process for making BIOS changes is as follows:
- Connect to the device and run PowerShell.
- Authenticate the Supervisor Password.
- Make changes to the BIOS settings.
- Save changes.
- Restart the device to commit changes.
Authenticate Supervisor Password
After you connect to the device and run PowerShell, enter the following command to authenticate the Supervisor Password:
(gwmi -namespace root\samsung -class biosmanager).SetPassword('[Password]')
For example:
PS> (gwmi -namespace root\samsung -class biosmanager).SetPassword('CurrentPassword123')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
RetCode : 0
PSComputerName :
Note
[Password]
must match the Supervisor Password entered in the BIOS Setup Utility menu. If you enter a Supervisor Password that is different than the one set in the BIOS menu, you’ll seeRetCode : 2
to indicate that this is the wrong password.
Change values
Once the Supervisor password has been authenticated, you can proceed to change any BIOS setting value by entering the following command in PowerShell:
(gwmi -namespace root\samsung -class biosmanager).Set([ItemCode], [Setting value])
.
See Appendix A for a full list of [ItemCodes]
and relevant [setting values]
.
For example, to disable the touchpad mouse, the command and result would look like this:
PS> (gwmi -namespace root\samsung -class biosmanager).Set(0x1000, 1)
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Data : 1
ItemCode : 1000
RetCode : 0
PSComputerName :
Save settings
After you change any BIOS setting values, you must save your changes then restart the device to have them take effect. Enter the following command in PowerShell to save the changes:
(gwmi -namespace root\samsung -class biosmanager).Save()
For example:
PS> (gwmi -namespace root\samsung -class biosmanager).Save()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
RetCode : 0
PSComputerName :
If you see a RetCode
of 0
, then the save was successful.
Note
After you restart your device, your PowerShell session will close.
Making multiple changes
As previously mentioned, you must authenticate the Supervisor Password before you can make any changes to the BIOS setting values.
If you have multiple BIOS setting changes, you can stack the changes before saving. For example:
- Connect to device, run PowerShell.
- Authenticate Supervisor Password using
.SetPassword()
command. - Making BIOS setting change #1.
- Making BIOS setting change #2.
- Making BIOS setting change #3.
- Save the changes using the
.Save()
command. - Restart the device to have the changes take effect.
Note that after you restart your device, the PowerShell session closes. If you need to make additional BIOS setting changes AFTER you’ve restarted the device, then you must re-connect to PowerShell and repeat the previous procedure (authenticate > make change > save > restart) once again.
Change supervisor or user password
If you need to change either the supervisor (ItemCode: 0x3000
) or user’s password (ItemCode: 0x3001
), enter the following command in PowerShell:
PS C:\> (gwmi -namespace root\samsung -class biosmanager).Set(0x3000, '[NewPassword]')
Note that [NewPassword]
must be at least 8 characters in length, and include 1 upper-case letter, 1 lower-case letter, and 1 numeric character.
The command and result would look like this:
PS> (gwmi -namespace root\samsung -class biosmanager).Set(0x3000, 'NewPassword123')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Data : NewPassword123
ItemCode : 3000
RetCode : 0
PSComputerName :
The Data
field will display the new password that you entered.
Override boot device settings
By default, the BIOS boot device priority is controlled by the BIOS’s Setup Utility menu. If you need to boot a BIOS from a different device, enter the following command in PowerShell:
PS C:\> (gwmi -namespace root\samsung -class biosmanager).set(0x5003, [BootDeviceNumber])
Referring to the table in Appendix A we see that ItemCode 0x5003 has the following BootDeviceNumber options:
- None (default): 1
- SSD Boot: 2
- USB Flash Boot: 3
- Network Boot: 5
For example, booting the BIOS from an SSD would look like this:
PS> (gwmi -namespace root\samsung -class biosmanager).Set(0x5003, 2)
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
Data : 2
ItemCode : 5003
RetCode : 0
PSComputerName :
After you set the BIOS boot device priority, save the changes and restart the device for the new setting to take effect.
Note
After you restart your device, the BIOS will try to load the boot image from the selected boot device. If there is no proper boot image present in the device, the BIOS will ignore this change and boot using the default setting.
Load default BIOS settings
You can revert any BIOS changes you’ve made by loading the default settings that came with the device. To load the default BIOS settings, you must first authenticate using the Supervisor Password:
PS> (gwmi -namespace root\samsung -class biosmanager).SetPassword('[Password]')
After you’ve authenticated, use the following command to load the default BIOS settings:
PS> (gwmi -namespace root\samsung -class biosmanager).LoadDefault()
The command and result will look like this:
PS> (gwmi -namespace root\samsung -class biosmanager).LoadDefault()
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
RetCode : 0
PSComputerName :
Appendix A: ItemCodes
Note:
(*) indicates the default value.
ItemCode | Item Description | Possible Value | Note |
---|---|---|---|
0x900 | USB Ports | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x910 | Thunderbolt Ports | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x920 | Wired LAN | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x921 | WiFi | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x922 | Bluetooth | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x923 | Wireless WAN | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x925 | Front Camera | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x926 | Rear Camera | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x927 | HD Audio | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x928 | MIC | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x929 | SD Card Slot | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x92A | Fingerprint Reader | 1: Off 2: On (*) |
This item only appears in the BIOS menu if the device is present in the PC. This feature is only available on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs. |
0x1000 | Touchpad mouse | 1: Off 2: On (*) |
This item appears in the BIOS menu only if the device is present in the PC. |
0x1020 | USB Charging | 1: Off (*) 2: On |
This feature is available only on Galaxy Book2 Business models. |
0x1030 | Wired LAN Wake-up from S5 | 1: Off (*) 2: On |
This feature is available only on Galaxy Book2 Business models. |
0x1040 | USB provisioning of AMT | 1: Off (*) 2: On |
This feature is available only on Galaxy Book2 Business models. |
0x1041 | Remote Platform Erase | 1: Off 2: On (*) |
This feature is available only on Galaxy Book2 Business models. |
0x1042 | Total Memory Encryption | 1: Off (*) 2: On |
This feature is available only on Galaxy Book2 Business models. |
0x1050 | USB4 Connection Manager | 1: Firmware CM only 2: Software CM first (*) |
|
0x1060 | BT Audio Offload | 1: Off 2: On (*) |
|
0x1070 | UEFI Firmware Update | 1: Off 2: On (*) |
|
0x3000 | Set Supervisor Password | ASCII Character or number | Minimum 8 characters, must include 1 upper-case and 1 lower-case letter, and 1 number |
0x3001 | Set User Password | ASCII Character or number | Minimum 8 characters, must include 1 upper-case and 1 lower-case letter, and 1 number |
0x3010 | Password on Boot | 1: Off 2: On |
Default values: - Galaxy Book2 Business and Galaxy Book3 B2B SKUs: Off - All other models: On |
0x3011 | Password on Boot Menu | 1: Off (*) 2: On |
This feature is available only on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs |
0x3100 | TPM Device Control | 1: Off 2: On (*) |
This ItemCode value is set to 2: On (default), and cannot be set to 1:Off. Using the function .Set(0x3100, 1) will result in an error code (RetCode: 7) |
0x3101 | TPM Pending Operation | 1: None (*) 2: Clear |
This ItemCode value is READ-ONLY. Using the function .Set() will result in an error code (RetCode: 7) |
0x3102 | TPM 2.0 UEFI Spec Version | 1: TCG 1.2 2: TCG 2.0 (*) |
This ItemCode value is READ-ONLY. Using the function .Set() will result in an error code (RetCode: 7) |
0x3200 | Intel Trusted Execution Technology | 1: Off 2: On (*) |
Note 1: For devices with Intel i3 core processors, the default value is 1: Off. For all other devices, the default value is 2: On Note 2: This ItemCode value is READ-ONLY. Using the function .Set() will result in an error code (RetCode: 7) |
0x3210 | Tamper Alert Configuration | 1: Disabled (*) 2: Alert 3: Alert & Authenticate |
Note 1: This feature is available only on Galaxy Book2 Business models. Note 2: This ItemCode value is READ-ONLY. Using the function .Set() will result in an error code (RetCode: 7) |
0x5003 | Select Boot Device | 1: None (*) 2: SSD 3: USB Flash 5: Network |
Network boot is only available when PXE Boot: On (0x5200) |
0x5100 | Fast BIOS Mode | 1: Off 2: On (*) |
|
0x5200 | PXE Boot | 1: Off 2: On (*) |
Default value: - 2023 models: On - 2022 or older models: Off |
0x5201 | Boot Menu | 1: Off 2: On (*) |
This feature is available only on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs |
0x5202 | EFI Shell Booting | 1: Off 2: On (*) |
This feature is available only on Galaxy Book2 Business models. |
0x5203 | USB Booting | 1: Off 2: On (*) |
This feature is available only on the following models: - Galaxy Book2 Business - Galaxy Book3 with B2B SKUs |
0x5300 | Secure Boot Control | 1: Off 2: On (*) |
This ItemCode value is READ-ONLY. Using the function .Set() will result in an error code (RetCode: 7) |
Appendix B: RetCodes
RetCode | Description |
---|---|
0 | Success |
1 | Unknown Failure |
2 | Supervisor password is wrong |
3 | Unsupported ItemCode |
4 | Failed to update value |
5 | Unknown command |
6 | Invalid command |
7 | Error (when trying to set a disabled value) |
8 | Data length is wrong |
9 | Invalid character in password |
10 | There is no supervisor password set |
11 | Cannot read the current setting value |
12 | Supervisor password is required |
13 | Internal Processing Error |