BIOS-instellingen (UEFI) bekijken en wijzigen met PowerShell

U kunt PowerShell gebruiken om BIOS/UEFI-instellingen op een Windows-computer te bekijken of te wijzigen. In dit artikel zullen we bekijken hoe u Windows PowerShell kunt gebruiken om de BIOS-instellingen van computers op te halen of te wijzigen op gewone computers en op apparaten van populaire merken (HP, Lenovo, Dell en Toshiba).

Inhoud:

Controleer de BIOS/UEFI-versie met PowerShell

De WMI-klasseWin32_BIOSbiedt basisinformatie over het BIOS van de computer (UEFI). U kunt gebruik maken van deGet-WmiObjectcmdlet om BIOS-informatie op te halen van WMI (Windows Management Instrumentation).

Get-WmiObject -Class Win32_BIOS

Standaard retourneert de opdracht informatie over de BIOS-versie (SMBIOSBIOSVersion), fabrikant, serienummer en computermodel.

U moet CIM-klassen gebruiken in plaats van WMI-klassen in de nieuwste versies van PowerShell Core 7.x. In dit geval zou het vorige commando er als volgt uit moeten zien:

Get-CimInstance -Class Win32_BIOS

Om de volledige lijst met BIOS-parameters te bekijken die beschikbaar zijn in deWin32_BIOSWMI-klasse, gebruik het commando:

Get-WmiObject -Class Win32_BIOS | Format-List *

U kunt alleen de BIOS-instellingen bekijken waarin u geïnteresseerd bent. Bijvoorbeeld BIOS-versie, serienummer van de computer, fabrikant en releasedatum:

Get-WmiObject -Class Win32_BIOS | Select SMBIOSBIOSVersion, Manufacturer, SerialNumber, ReleaseDate

U kunt ook BIOS-informatie ophalen van een externe computer:

Get-WmiObject -Class Win32_BIOS -ComputerName MUN-WKS41

Computer-BIOS-informatie wordt opgeslagen in het Windows-register. U kunt BIOS-informatie rechtstreeks uit het register ophalen met behulp van PowerShell:

Get-ItemProperty -Path HKLM:HARDWAREDESCRIPTIONSystemBIOS

De Win32_BIOS is een generieke klasse die kan worden gebruikt om basis BIOS-informatie op elk Windows-apparaat te verkrijgen. Sommige hardwareleveranciers bieden echter speciale WMI-klassen om rechtstreeks vanuit het Windows-besturingssysteem toegang te krijgen tot het BIOS (u moet de eigen stuurprogramma's van de fabrikant installeren).

BIOS-instellingen ophalen of wijzigen met de Get-BIOS-module

U kunt een aparte module van PSGallery gebruiken, genaamdGet-BIOSom BIOS/UEFI-instellingen op te halen voor Dell-, HP-, Lenovo- en Toshiba-computers.

Installeer de module vanuit de online PowerShell-galerij (PowerShell-modules kunnen offline worden geïnstalleerd):

Install-Module GetBIOS

Om de BIOS-instellingen van uw computer te bekijken, voert u de opdracht uit:

Get-BIOS

Bij sommige BIOS-versies kunt u niet alleen de huidige waarde van de BIOS-parameter weergeven, maar ook de beschrijving ervan en de mogelijke waarden:

Get-BIOS -ShowDescription

Er is ook een module van dezelfde ontwikkelaar waarmee u de BIOS-instellingen op Dell-, Lenovo- en HP-machines kunt wijzigen.

Install-Module SetBIOS

Lees ook:Wijzig het BIOS van Legacy naar UEFI zonder Windows opnieuw te installeren

U moet een CSV-bestand in de volgende indeling maken om de BIOS-instellingen van uw apparaat te wijzigen: {Setting, Value}.

Om een ​​CSV-bestand met de BIOS-instellingen toe te passen, voert u de volgende opdracht uit

Set-BIOS -Path "YourBIOSSettingsFile.csv"

Als het BIOS met een wachtwoord is beveiligd, voeg dan toe-Passwordnaar de optie.

Geef een overzicht van de BIOS-instellingen op een Lenovo-apparaat met PowerShell

Huidige BIOS-instellingen worden opgeslagen in een aparte WMI-klasseLenovocomputers. U kunt de beschikbare BIOS-opties en hun waarden op het Lenovo-apparaat weergeven:

Get-WmiObject -class Lenovo_BiosSetting -namespace rootwmi | select-object InstanceName, currentsetting

Laten we controleren of het BIOS-wachtwoord is ingesteld op uw Lenovo-computer:

(gwmi -Class Lenovo_BiosPasswordSettings -Namespace rootwmi).PasswordState

Als de opdracht 0 retourneert, is het BIOS-beveiligingswachtwoord niet ingesteld.

Wijzig het BIOS-beheerderswachtwoord op uw Lenovo-apparaat:

(gwmi -Class Lenovo_SetBiosPassword -Namespace rootwmi).SetBiosPassword("pap,oldPassword,newPassword,ascii,us")

U kunt enkele BIOS-parameters op Lenovo-computers wijzigen. Laten we bijvoorbeeld WOL (Wake-On-LAN) inschakelen:

$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace rootwmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace rootwmi)
$SaveLenovoBIOS.SaveBiosSettings()

Reset de BIOS-instellingen van uw Lenovo-apparaat naar de fabrieksinstellingen:

$DefaultSettings = Get-WmiObject -Namespace rootwmi -Class Lenovo_LoadDefaultSettings
$DefaultSettings.LoadDefaultSettings("CurrentBIOSPassword,ascii,us")

PowerShell: BIOS-instellingen op HP computers weergeven en wijzigen

U kunt de beschikbare BIOS-opties, hun waarden en beschikbare opties weergeven opHewlett Packardcomputers/laptops met behulp van de volgende opdracht:

Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosEnumeration | select Name, value, possiblevalues –AutoSize

Op HP-computers kunt u PowerShell gebruiken om bepaalde BIOS-instellingen te wijzigen. U kunt bijvoorbeeld de mogelijkheid uitschakelen om uw computer op te starten vanaf een USB-opslagapparaat.

$getHPBios = gwmi -class hp_biossettinginterface -Namespace "roothpinstrumentedbios"
$getHPBios.SetBIOSSetting('USB Storage Boot','Disable')

Als er een wachtwoord vereist is om de BIOS-instellingen op een HP-apparaat te wijzigen, kunt u dit script gebruiken:

$HPBIOSPassword = "<utf-16/>"+"Passw0rd!1"
$getHPBios = gwmi -class hp_biossettinginterface -Namespace "roothpinstrumentedbios"
$getHPBios.SetBIOSSetting(‘Network (PXE) Boot','Disable',$HPBIOSPassword)

Als het laatste commando “0” heeft geretourneerd, is het met succes uitgevoerd. U kunt een eenvoudige PowerShell-handler gebruiken:

$ChangeBIOS_State = $bios.setbiossetting(Network (PXE) Boot', 'Disable' , $HPBIOSPassword)
$ChangeBIOS_State_Code = $ChangeBIOS_State.return
If(($ChangeBIOS_State_Code) -eq 0)
{
write-host "OK"
}
Else
{
write-host "Error - (Return code $ChangeBIOS_State_Code)" -Foreground Red
}

Als u de LAN/WLAN-switching in het BIOS op een HP laptop wilt inschakelen om automatisch de verbinding met Wi-Fi te verbreken wanneer er een Ethernet-verbinding beschikbaar is, voert u deze opdracht uit:

$getHPBios.SetBIOSSetting('LAN/WLAN Switching','Enable')

Je kunt ook deHP Client Management-scriptbibliotheek(CMSL)-extensie op uw Hewlett-Packard-apparaat (https://www.hp.com/us-en/solutions/client-management-solutions/download.html). CMSL bevat verschillende PowerShell-modules waarmee u BIOS/UEFU-instellingen kunt ophalen of wijzigen, firmware kunt bijwerken, enz.

Exporteer de huidige BIOS-instellingen naar een tekstbestand:

Get-HPBIOSSettingsList | Out-File -FilePath ‘C:ProgramDataHPCMSLLogsCurrentBIOSSettings.txt’

Schakel de optie WLAN Auto Switching in de HP BIOS-instellingen in:

Set-HPBIOSSettingValue -Name "LAN/WLAN Auto Switching" -Value Enable -Password BiosPass000rd

Configureer DELL BIOS-instellingen met PowerShell

U kunt BIOS-instellingen bekijken en beheren opDELLcomputers die gebruik maken van deDCIM-BIOSServiceWMI-klasse of modernrootdellomciklasse (beschikbaar na installatie van OMCI, Open Manage Client Instrumentation).

Om de volgorde van de opstartapparaten in het BIOS op Dell computers te bekijken, voert u de volgende opdracht uit:

Get-WmiObject -NameSpace rootdellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder

U kunt Wake on LAN bijvoorbeeld als volgt in het BIOS inschakelen:

(Get-WmiObject DCIM-BIOSService -namespace rootdcimsysman).SetBIOSAttributes($null,$null,"Wake-On-LAN","4")

Bovendien kunt u voor Dell-computers de officiële versie gebruikenDellBIOSProviderPowerShell-module, die wordt geïnstalleerd als onderdeel van het installatieproces van het stuurprogramma, of u kunt deze handmatig installeren met de opdracht:

Install-Module -Name DellBIOSProvider -Force

U kunt deze module bijvoorbeeld gebruiken om de opstartvolgorde op uw Dell-computer op te halen:

Get-Item DellSmbios:BootSequenceBootsequence

Controleer of het BIOS-wachtwoord is ingesteld:

Get-Item -Path DellSmbios:SecurityIsAdminPasswordSet

Wijzig het BIOS-beveiligingswachtwoord op een Dell apparaat:

Set-Item -Path DellsmbiosSecurityAdminPassword –Value BadDellPa$$ –Password G00dDe11P@ss

We hebben gekeken hoe u PowerShell kunt gebruiken om BIOS-instellingen op Windows-apparaten op te halen en te wijzigen. Hiermee kunt u de BIOS/UEFI-instellingen op al uw computers verenigen (met behulp van SCCM, Intune, MDT, enz.).

Related Posts