Jak získat nebo změnit nastavení systému BIOS z prostředí PowerShell?

Pomocí PowerShell můžete zobrazit nebo změnit nastavení systému BIOS v počítači se systémem Windows. Podívejme se na několik příkladů, které můžete použít k získání nebo změně některých nastavení systému BIOS prostřednictvím tříd WMI (Windows Management Instrumentation) na počítačích populárních výrobců: HP, Lenovo, Dell.

Základní parametry systému BIOS lze získat na jakémkoli počítači pomocí rutiny Get-WmiObject ze třídy Win32_BIOS:

Get-WmiObject -Class Win32_BIOS | Formát-seznam *

Tento příkaz umožňuje získat verzi systému BIOS (SMBIOSBIOSVersion, BIOSVersion), výrobce (Výrobce), sériové číslo počítače (SerialNumber), datum vydání (ReleaseDate) a řadu dalších parametrů.

Lze zobrazit pouze určité parametry systému BIOS, například výrobce a verze systému BIOS.

Get-WmiObject -Class Win32_BIOS | Výrobce Select-Object, SMBIOSBIOSVersion

Třídu Win32_BIOS můžete použít k zobrazení některých informací systému BIOS v jakémkoli počítači se systémem Windows. Někteří výrobci hardwaru však poskytují speciální třídy WMI pro přístup k systému BIOS ze systému Windows (je nutné, aby byly v počítači nainstalovány nativní ovladače výrobce).

Správa systému BIOS z prostředí PowerShell v počítačích Lenovo

Například na počítačích Lenovo seznam některých parametrů systému BIOS a jejich hodnot lze získat takto:

Get-WmiObject - třída Lenovo_BiosSetting -namespace root \ wmi

Můžete zobrazit pouze názvy nastavení BIOS a aktuální hodnoty:

Get-WmiObject -třída Lenovo_BiosSetting -namespace root \ wmi | select-object InstanceName, nastavení proudů

Zkontrolujte, zda je v počítači Lenovo nastaveno heslo pro vstup do systému BIOS:

(gwmi -Class Lenovo_BiosPasswordSettings -N rootpamespaces \ wmi) .PasswordState

Pokud příkaz vrátil 0, heslo pro zadání systému BIOS není nastaveno.

Na počítačích Lenovo můžete změnit některá nastavení systému BIOS. Například zapněte počítač WOL:

$ getLenovoBIOS = gwmi -třída Lenovo_SetBiosSetting -namespace root \ wmi
$ getLenovoBIOS.SetBiosSetting („WakeOnLAN, Enable“)
$ SaveLenovoBIOS = (gwmi -třída Lenovo_SaveBiosSettings -namespace root \ wmi)
$ SaveLenovoBIOS.SaveBiosSettings ()

Nastavení systému BIOS z prostředí PowerShell na počítačích Hewlett-Packard

Na počítačích HP Pomocí následujícího příkazu můžete získat parametry systému BIOS, jejich hodnoty a dostupné možnosti:

Get-WmiObject -Namespace root / hp / instrumentedBIOS -Class hp_biosEnumeration | vyberte Název, hodnota, možné hodnoty -AutoSize

Některá nastavení systému BIOS v počítačích HP můžete změnit z prostředí PowerShell. Chcete například zakázat spouštění počítače ze zařízení USB.

$ getHPBios = gwmi -třída hp_biossettinginterface -Namespace "root \ hp \ instrumentedbios"
$ getHPBios.SetBIOSSetting ('USB Storage Boot', 'Zakázat')

Pokud je pro změnu nastavení systému BIOS vyžadováno heslo, můžete použít následující skript:

$ HPBIOSPassword = "" + "P @ $$ w0rd"
$ getHPBios = gwmi -třída hp_biossettinginterface -Namespace "root \ hp \ instrumentedbios"
$ getHPBios.SetBIOSSetting ('Síť (PXE) Boot', 'Zakázat', $ HPBIOSPassword)

Pokud poslední příkaz vrátil „Návrat 0“, fungovalo to úspěšně. Můžete si vyrobit jednoduchý manipulátor:

$ ChangeBIOS_State = $ bios.setbiossetting (Network (PXE) Boot ',' Disable ', $ HPBIOSPassword)
$ ChangeBIOS_State_Code = $ ChangeBIOS_State.return
Pokud (($ ChangeBIOS_State_Code) -eq 0)

zápis-hostitel "OK"

Jinak

write-host "Error - (Return code $ ChangeBIOS_State_Code)" -Foreground Red

Pokud chcete povolit přepínání LAN / WLAN v systému BIOS na notebooku HP, aby se automaticky odpojilo od sítě Wi-FI, když máte připojení Ethernet, spusťte příkaz:

$ getHPBios.SetBIOSSetting ('Přepínání LAN / WLAN', 'Povolit')

Nastavení systému BIOS na zařízeních DELL od společnosti PowerShell

Na počítačích Dell K prohlížení a správě parametrů systému BIOS můžete použít třídu WMI DCIM-BIOSService nebo novější kořenovou \ dellomci třídu (k dispozici po instalaci balíčku OMCI - Otevřít správu klientů).

Chcete-li získat postup výčtu spouštěcího zařízení v systému BIOS v počítačích Dell, postupujte takto:

Get-WmiObject -NameSpace root \ dellomci Dell_BootDeviceSequence | řadit bootorder | vyberte BootDeviceName, BootOrder

Můžete například povolit Wake on LAN v systému BIOS následujícím způsobem:

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

Společnost Dell také vydala samostatný modul PowerShell. DellBIOSProvider, který je nainstalován při instalaci ovladačů, nebo ho můžete nainstalovat ručně příkazem:

Install-Module -Name DellBIOSProvider -Force

Pomocí tohoto modulu můžete získat pořadí spouštění v počítači Dell:

Get-ChildItem DellSmbios: \ BootSequence \ Bootsequence

Chcete-li změnit nastavení systému BIOS, použijte rutinu Set-Item. Například změnit heslo systému BIOS:

Set-Item -Path Dellsmbios \ Security \ AdminPassword -Value 0ldDellP @ ss -Password Newde11P @ ss

Pomocí výše popsaných metod můžete pro své modely PC vytvořit skript PowerShell, který exportuje aktuální nastavení systému BIOS z referenčního počítače (například do formátu CSV) a použije je na všechny ostatní počítače stejného modelu. Tímto způsobem lze nastavení systému BIOS standardizovat na všech počítačích v síti..