आप विंडोज चलाने वाले अपने कंप्यूटर पर BIOS सेटिंग्स को देखने या बदलने के लिए पावरशेल का उपयोग कर सकते हैं। आइए कुछ उदाहरणों पर विचार करें जिनका उपयोग आप लोकप्रिय विक्रेताओं: HP, लेनोवो, डेल के कंप्यूटरों पर WMI कक्षाओं (विंडोज मैनेजमेंट इंस्ट्रूमेंटेशन) के माध्यम से पावरशेल के साथ कुछ BIOS सेटिंग्स को प्राप्त या संशोधित करने के लिए कर सकते हैं।
आप Win32_BIOS कक्षा से Get-WmiObject cmdlet का उपयोग करके अपने कंप्यूटर पर बुनियादी BIOS पैरामीटर देख सकते हैं:
Get-WmiObject -Class Win32_BIOS | Format-List *
यह कमांड आपको अपने BIOS संस्करण (SMBIOSBIOSVersion, BIOSVersion), हार्डवेयर निर्माता, कंप्यूटर सीरियल नंबर, ReleaseDate और कुछ अन्य जानकारी देखने की अनुमति देती है।
आप इन BIOS पैरामीटर्स में से केवल कुछ को सूचीबद्ध कर सकते हैं:
Get-WmiObject -Class Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion
आप किसी भी विंडोज चलाने वाले कंप्यूटर पर कुछ BIOS जानकारी देखने के लिए Win32_BIOS कक्षा का उपयोग कर सकते हैं। हालांकि, कुछ हार्डवेयर विक्रेता विंडोज OS से BIOS तक सीधी पहुंच के लिए विशेष WMI कक्षाएं प्रदान करते हैं (आपके हार्डवेयर निर्माता के मूल ड्राइवर कंप्यूटर पर इंस्टॉल होने चाहिए)।
पावरशेल से लेनोवो BIOS सेटिंग्स प्रबंधन
आप लेनोवो कंप्यूटरों पर BIOS पैरामीटर्स और उनके मानों की सूची इस तरह प्राप्त कर सकते हैं:
Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi
केवल BIOS सेटिंग्स के नाम और उनके वर्तमान मान प्रदर्शित करने के लिए:
Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi | select-object InstanceName, currentsetting

आइए जांचें कि क्या आपके लेनोवो कंप्यूटर पर BIOS तक पहुंचने का पासवर्ड सेट है:
(gwmi -Class Lenovo_BiosPasswordSettings -Namespace root\wmi).PasswordState
यदि कमांड ने 0 लौटाया, तो BIOS में प्रवेश करने का पासवर्ड सेट नहीं है।

आप लेनोवो कंप्यूटरों पर कुछ BIOS पैरामीटर्स बदल सकते हैं। उदाहरण के लिए, आइए WOL (वेक-ऑन-लैन) सक्षम करें:
$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace root\wmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace root\wmi)
$SaveLenovoBIOS.SaveBiosSettings()
हेवलेट-पैकार्ड कंप्यूटर पर पावरशेल से BIOS सेटिंग बदलें
HP कंप्यूटरों पर BIOS सेटिंग्स, उनके मान और उपलब्ध विकल्प प्राप्त करने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:
Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosEnumeration | select Name, value, possiblevalues –AutoSize
आप पावरशेल से HP कंप्यूटरों पर कुछ BIOS सेटिंग्स बदल सकते हैं। उदाहरण के लिए, आप अपने कंप्यूटर को USB डिवाइस से बूट करने से अक्षम करना चाहते हैं।
$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"
$getHPBios.SetBIOSSetting('USB Storage Boot','Disable')
यदि BIOS सेटिंग्स बदलने के लिए पासवर्ड आवश्यक है, तो आप इस स्क्रिप्ट का उपयोग कर सकते हैं:
$HPBIOSPassword = "<utf-16/>"+"Passw0rd!1"
$getHPBios = gwmi -class hp_biossettinginterface -Namespace "root\hp\instrumentedbios"
$getHPBios.SetBIOSSetting(‘Network (PXE) Boot','Disable',$HPBIOSPassword)
यदि अंतिम कमांड ने "0" लौटाया है, तो यह सफलतापूर्वक निष्पादित हुआ है। आप एक साधारण पावरशेल हैंडलर का उपयोग कर सकते हैं:
$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
}
यदि आप HP लैपटॉप पर BIOS में LAN/WLAN स्विचिंग को सक्षम करना चाहते हैं ताकि ईथरनेट कनेक्शन उपलब्ध होने पर वाई-फाई से स्वचालित रूप से डिस्कनेक्ट हो जाए, तो यह कमांड चलाएं:
$getHPBios.SetBIOSSetting('LAN/WLAN Switching','Enable')
पावरशेल के साथ DELL BIOS सेटिंग्स कॉन्फ़िगर करना
DELL कंप्यूटरों पर BIOS सेटिंग्स देखने और प्रबंधित करने के लिए, आप DCIM-BIOSService WMI कक्षा या अधिक आधुनिक root\dellomci कक्षा का उपयोग कर सकते हैं (OMCI पैकेज — ओपन मैनेज क्लाइंट इंस्ट्रूमेंटेशन की स्थापना के बाद उपलब्ध)।
डेल कंप्यूटरों पर BIOS में बूट डिवाइस ऑर्डर देखने के लिए, निम्न कमांड चलाएं:
Get-WmiObject -NameSpace root\dellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder

उदाहरण के लिए, आप BIOS में वेक ऑन LAN को इस तरह सक्षम कर सकते हैं:
(Get-WmiObject DCIM-BIOSService -namespace rootdcimsysman).SetBIOSAttributes($null,$null,"Wake-On-LAN","4")
इसके अलावा, डेल ने एक अलग पावरशेल मॉड्यूल, DellBIOSProvider जारी किया, जो ड्राइवर इंस्टॉलेशन के साथ इंस्टॉल होता है या आप इसे मैन्युअली इस कमांड से इंस्टॉल कर सकते हैं:
Install-Module -Name DellBIOSProvider -Force
आप इस मॉड्यूल का उपयोग डेल कंप्यूटर पर बूट अनुक्रम देखने के लिए कर सकते हैं:
Get-ChildItem DellSmbios:\BootSequence\Bootsequence
किसी विशिष्ट BIOS सेटिंग को बदलने के लिए, Set-Item cmdlet का उपयोग करें। उदाहरण के लिए, BIOS पासवर्ड बदलने के लिए:
Set-Item -Path Dellsmbios\Security\AdminPassword –Value BadDellPa$$ –Password G00dDe11P@ss
ऊपर वर्णित विधियों का उपयोग करके, आप एक पावरशेल स्क्रिप्ट बना सकते हैं जो वर्तमान BIOS सेटिंग्स को एक संदर्भ कंप्यूटर से निर्यात करती है (उदाहरण के लिए, CSV फ़ाइल में)। फिर, आप अपनी कंपनी के सभी कंप्यूटरों पर उन्हीं BIOS सेटिंग्स को तैनात करने के लिए पावरशेल का उपयोग कर सकते हैं।