So zeigen Sie BIOS-Einstellungen (UEFI) mit PowerShell an und ändern sie

Sie können PowerShell verwenden, um BIOS/UEFI-Einstellungen auf einem Windows-Computer anzuzeigen oder zu ändern. In diesem Artikel schauen wir uns an, wie Sie mit Windows PowerShell Computer-BIOS-Einstellungen auf normalen Computern und auf Geräten beliebter Marken (HP, Lenovo, Dell und Toshiba) abrufen oder ändern können.

Inhalt:

Überprüfen Sie die BIOS/UEFI-Version mit PowerShell

Die WMI-KlasseWin32_BIOSBietet grundlegende Informationen zum BIOS (UEFI) des Computers. Sie können die verwendenGet-WmiObjectCmdlet zum Abrufen von BIOS-Informationen von WMI (Windows Management Instrumentation).

Get-WmiObject -Class Win32_BIOS

Standardmäßig gibt der Befehl Informationen über die BIOS-Version (SMBIOSBIOSVersion), den Hersteller, die Seriennummer und das Computermodell zurück.

In den neuesten Versionen von PowerShell Core 7.x müssen Sie CIM-Klassen anstelle von WMI-Klassen verwenden. In diesem Fall sollte der vorherige Befehl so aussehen:

Get-CimInstance -Class Win32_BIOS

Um die vollständige Liste der BIOS-Parameter anzuzeigen, die im verfügbar sindWin32_BIOSWMI-Klasse, verwenden Sie den Befehl:

Get-WmiObject -Class Win32_BIOS | Format-List *

Sie können nur die BIOS-Einstellungen anzeigen, die Sie interessieren. Zum Beispiel BIOS-Version, Seriennummer des Computers, Hersteller und Veröffentlichungsdatum:

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

Sie können BIOS-Informationen auch von einem Remote-Computer abrufen:

Get-WmiObject -Class Win32_BIOS -ComputerName MUN-WKS41

Computer-BIOS-Informationen werden in der Windows-Registrierung gespeichert. Mit PowerShell können Sie BIOS-Informationen direkt aus der Registrierung abrufen:

Get-ItemProperty -Path HKLM:HARDWAREDESCRIPTIONSystemBIOS

Win32_BIOS ist eine generische Klasse, mit der grundlegende BIOS-Informationen auf jedem Windows-Gerät abgerufen werden können. Einige Hardwarehersteller bieten jedoch spezielle WMI-Klassen an, um direkt vom Windows-Betriebssystem aus auf das BIOS zuzugreifen (Sie müssen die nativen Treiber des Herstellers installieren).

So erhalten oder ändern Sie BIOS-Einstellungen mit dem Get-BIOS-Modul

Sie können ein separates Modul von PSGallery namens verwendenHolen Sie sich das BIOSum BIOS/UEFI-Einstellungen für Dell-, HP-, Lenovo- und Toshiba-Computer abzurufen.

Installieren Sie das Modul aus der PowerShell-Onlinegalerie (PowerShell-Module können offline installiert werden):

Install-Module GetBIOS

Um die BIOS-Einstellungen Ihres Computers anzuzeigen, führen Sie den folgenden Befehl aus:

Get-BIOS

Bei einigen BIOS-Versionen können Sie nicht nur den aktuellen Wert des BIOS-Parameters anzeigen, sondern auch dessen Beschreibung und die möglichen Werte:

Get-BIOS -ShowDescription

Es gibt auch ein Modul desselben Entwicklers, mit dem Sie die BIOS-Einstellungen auf Dell-, Lenovo- und HP-Geräten ändern können.

Install-Module SetBIOS

Lesen Sie auch:Ändern Sie das BIOS von Legacy auf UEFI, ohne Windows neu zu installieren

Sie müssen eine CSV-Datei im folgenden Format erstellen, um die BIOS-Einstellungen Ihres Geräts zu ändern: {Setting, Value}.

Um eine CSV-Datei mit den BIOS-Einstellungen anzuwenden, führen Sie den folgenden Befehl aus

Set-BIOS -Path "YourBIOSSettingsFile.csv"

Wenn das BIOS passwortgeschützt ist, fügen Sie hinzu-Passwordzur Option.

Listen Sie die BIOS-Einstellungen auf einem Lenovo-Gerät mit PowerShell auf

Aktuelle BIOS-Einstellungen werden in einer separaten WMI-Klasse gespeichertLenovoComputer. Sie können die verfügbaren BIOS-Optionen und ihre Werte auf dem Lenovo-Gerät auflisten:

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

Überprüfen wir, ob das BIOS-Passwort auf Ihrem Lenovo-Computer festgelegt ist:

(gwmi -Class Lenovo_BiosPasswordSettings -Namespace rootwmi).PasswordState

Wenn der Befehl 0 zurückgegeben hat, ist das BIOS-Sicherheitskennwort nicht festgelegt.

Ändern Sie das BIOS-Administratorkennwort auf Ihrem Lenovo-Gerät:

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

Sie können einige BIOS-Parameter auf Lenovo-Computern ändern. Aktivieren wir zum Beispiel WOL (Wake-On-LAN):

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

Setzen Sie die BIOS-Einstellungen Ihres Lenovo-Geräts auf die Werkseinstellungen zurück:

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

PowerShell: BIOS-Einstellungen auf HP-Computern auflisten und ändern

Sie können die verfügbaren BIOS-Optionen, ihre Werte und verfügbaren Optionen auflistenHewlett PackardComputer/Laptops mit dem folgenden Befehl:

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

Auf HP-Computern können Sie PowerShell verwenden, um einige BIOS-Einstellungen zu ändern. Sie können beispielsweise die Möglichkeit deaktivieren, Ihren Computer von einem USB-Speichergerät zu starten.

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

Wenn zum Ändern der BIOS-Einstellungen auf einem HP-Gerät ein Passwort erforderlich ist, können Sie dieses Skript verwenden:

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

Wenn der letzte Befehl „0“ zurückgegeben hat, wurde er erfolgreich ausgeführt. Sie können einen einfachen PowerShell-Handler verwenden:

$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
}

Wenn Sie die LAN/WLAN-Umschaltung im BIOS auf einem HP-Laptop aktivieren möchten, um die WLAN-Verbindung automatisch zu trennen, wenn eine Ethernet-Verbindung verfügbar ist, führen Sie diesen Befehl aus:

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

Sie können auch das installierenHP Client Management-Skriptbibliothek(CMSL)-Erweiterung auf Ihrem Hewlett-Packard-Gerät (https://www.hp.com/us-en/solutions/client-management-solutions/download.html). CMSL umfasst mehrere PowerShell-Module, mit denen Sie BIOS/UEFU-Einstellungen abrufen oder ändern, Firmware aktualisieren usw. können.

Exportieren Sie die aktuellen BIOS-Einstellungen in eine Textdatei:

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

Aktivieren Sie die Option WLAN Auto Switching in den HP BIOS-Einstellungen:

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

Konfigurieren Sie die DELL-BIOS-Einstellungen mit PowerShell

Sie können die BIOS-Einstellungen anzeigen und verwaltenDELLComputer, die das verwendenDCIM-BIOSServiceWMI-Klasse oder die ModernerootdellomciKlasse (verfügbar nach der Installation von OMCI, Open Manage Client Instrumentation).

Um die Reihenfolge der Startgeräte im BIOS auf Dell-Computern anzuzeigen, führen Sie den folgenden Befehl aus:

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

Sie können Wake on LAN beispielsweise wie folgt im BIOS aktivieren:

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

Darüber hinaus können Sie für Dell-Computer die offizielle Version verwendenDellBIOSProviderPowerShell-Modul, das im Rahmen des Treiberinstallationsprozesses installiert wird, oder Sie können es manuell mit dem folgenden Befehl installieren:

Install-Module -Name DellBIOSProvider -Force

Mit diesem Modul können Sie beispielsweise die Startreihenfolge auf Ihrem Dell-Computer ermitteln:

Get-Item DellSmbios:BootSequenceBootsequence

Überprüfen Sie, ob das BIOS-Passwort festgelegt ist:

Get-Item -Path DellSmbios:SecurityIsAdminPasswordSet

Ändern Sie das BIOS-Sicherheitskennwort auf einem Dell-Gerät:

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

Wir haben uns angeschaut, wie man mit PowerShell BIOS-Einstellungen auf Windows-Geräten abrufen und ändern kann. Dadurch können Sie die BIOS/UEFI-Einstellungen auf allen Ihren Computern vereinheitlichen (mithilfe von SCCM, Intune, MDT usw.).

Related Posts