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