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..