Kako pridobiti ali spremeniti nastavitve BIOS-a iz PowerShell-a?

PowerShell lahko uporabite za ogled ali spreminjanje nastavitev BIOS-a v računalniku z operacijskim sistemom Windows. Oglejmo si nekaj primerov, s katerimi lahko pridobite ali spremenite nekatere nastavitve BIOS-a prek razredov WMI (Windows Management Instrumentation) v računalnikih priljubljenih proizvajalcev: HP, Lenovo, Dell.

Osnovne parametre BIOS-a lahko dobite v katerem koli računalniku z uporabo ukaznega mesta Get-WmiObject iz razreda Win32_BIOS:

Get-WmiObject -Class Win32_BIOS | Seznam oblik *

Ta ukaz vam omogoča, da dobite različico BIOS (SMBIOSBIOSVersion, BIOSVersion), proizvajalca (proizvajalca), serijsko številko računalnika (SerialNumber), datum izdaje (ReleaseDate) in številne druge parametre.

Prikažejo se lahko samo določeni parametri BIOS-a, na primer proizvajalec in različica BIOS-a.

Get-WmiObject -Class Win32_BIOS | Proizvajalec izbranih predmetov, SMBIOSBIOSVersion

Razred Win32_BIOS lahko uporabite za ogled nekaterih informacij o BIOS-u v katerem koli Windows računalniku. Vendar nekateri proizvajalci strojne opreme zagotavljajo posebne razrede WMI za dostop do BIOS-a iz sistema Windows (nujno je, da so na računalniku nameščeni domači gonilniki proizvajalca).

Upravljanje BIOS-a iz PowerShell-a na računalnikih Lenovo

Na primer na računalnikih Lenovo seznam nekaterih parametrov BIOS-a in njihove vrednosti je mogoče dobiti takole:

Get-WmiObject -clas Lenovo_BiosSetting -namepace root \ wmi

Prikažete lahko samo imena nastavitev BIOS-a in trenutne vrednosti:

Get-WmiObject -clas Lenovo_BiosSetting -name root root \ wmi | select-object InstanceName, trenutna nastavitev

Preverite, ali je v računalniku Lenovo nastavljeno geslo za vstop v BIOS:

(gwmi -Class Lenovo_BiosPasswordSettings -Namespace root \ wmi) .PasswordState

Če je ukaz vrnil 0, geslo za vstop v BIOS ni nastavljeno.

V računalnikih Lenovo lahko spremenite nekatere nastavitve BIOS-a. Na primer, vklopite računalnik WOL:

$ getLenovoBIOS = gwmi -razred Lenovo_SetBiosSetting -namepace root \ wmi
$ getLenovoBIOS.SetBiosSetting ("WakeOnLAN, omogoči")
$ SaveLenovoBIOS = (gwmi -razred Lenovo_SaveBiosSettings-root imena \ wmi)
$ SaveLenovoBIOS.SaveBiosSettings ()

Nastavitev BIOS-a iz PowerShell-a na računalnikih Hewlett-Packard

Na računalnikih HP Za pridobitev parametrov BIOS-a, njihovih vrednosti in razpoložljivih možnosti lahko uporabite naslednji ukaz:

Get-WmiObject -Namespace root / hp / instrumentedBIOS -Class hp_biosŠtevilo | izberite Ime, vrednost, možne vrednosti -AutoSize

Nekaj ​​nastavitev BIOS-a lahko na HP-jevih računalnikih spremenite iz PowerShell-a. Na primer, želite onemogočiti zagon računalnika z USB naprav.

$ getHPBios = gwmi -razred hp_biossettinginterface -Namespace "root \ hp \ instrumentedbios"
$ getHPBios.SetBIOSSetting ("Zagon za shranjevanje USB", "Onemogoči")

Če je za spremembo nastavitev BIOS-a potrebno geslo, lahko uporabite naslednji skript:

$ HPBIOSPassword = "" + "P @ $$ w0rd"
$ getHPBios = gwmi -razred hp_biossettinginterface -Namespace "root \ hp \ instrumentedbios"
$ getHPBios.SetBIOSSetting ("Zagon omrežja (PXE)", "Onemogoči", $ HPBIOSPassword)

Če je zadnji ukaz vrnil "Return 0", potem je uspešno deloval. Izdelate lahko preprost upravljavec:

$ ChangeBIOS_State = $ bios.setbiossetting (Network (PXE) Boot "," Onemogoči ", $ HPBIOSPassword)
$ ChangeBIOS_State_Code = $ ChangeBIOS_State.return
Če (($ ChangeBIOS_State_Code) -eq 0)

piši gostitelj "OK"

Ostalo

write-host "Napaka - (vrnitev kode $ ChangeBIOS_State_Code)" -Foreground Red

Če želite v BIOS-u na prenosnem računalniku HP omogočiti preklapljanje LAN / WLAN, da se samodejno prekinite z Wi-Fi, ko imate povezavo z Ethernetom, zaženite ukaz:

$ getHPBios.SetBIOSSetting ('Preklapljanje LAN / WLAN', 'Omogoči')

Nastavitev BIOS-a na napravah DELL iz PowerShell-a

Na računalnikih Dell Za ogled in upravljanje parametrov BIOS-a lahko uporabite razred WMI DCIM-BIOSService ali novejši razred root \ dellomci (na voljo po namestitvi paketa OMCI - Odprite Manage Client Instrumentation).

Če želite dobiti postopek zaštevanja zagonske naprave v BIOS-u na računalnikih Dell, naredite:

Get-WmiObject -NameSpace root \ dellomci Dell_BootDeviceSequence | vrsta zagona | izberite BootDeviceName, BootOrder

Na primer, lahko v BIOS-u omogočite Wake on LAN na naslednji način:

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

Dell je izdal tudi ločen modul PowerShell. DellBIOSProvider, ki je nameščen pri nameščanju gonilnikov ali pa ga lahko namestite ročno z ukazom:

Namestite-modul -ime DellBIOSProvider -Force

S tem modulom lahko dobite naročilo zagona v računalniku Dell:

Get-ChildItem DellSmbios: \ BootSequence \ Bootsequence

Če želite spremeniti nastavitev BIOS-a, uporabite ukazni ukaz Set-Item. Na primer, če želite spremeniti geslo za BIOS:

Set-Item - Pot Dellsmbios \ Varnost \ AdminPassword -Value 0ldDellP @ ss -Password Newde11P @ ss

Z zgoraj opisanimi metodami lahko ustvarite skript PowerShell za svoje modele osebnih računalnikov, ki trenutne nastavitve BIOS-a izvozijo iz referenčnega računalnika (na primer v CSV) in jih uporabijo za vse druge računalnike istega modela. Na ta način lahko nastavitve BIOS-a standardiziramo na vseh računalnikih v omrežju..