Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 10

ใช้ PowerShell ดูและเปลี่ยนการตั้งค่า BIOS

คุณสามารถใช้ PowerShell เพื่อดูหรือเปลี่ยนการตั้งค่า BIOS บนคอมพิวเตอร์ที่รัน Windows มาดูตัวอย่างบางอย่างที่คุณสามารถใช้เพื่อรับหรือแก้ไขการตั้งค่า BIOS บางอย่างด้วย PowerShell ผ่านคลาส WMI (Windows Management Instrumentation) บนคอมพิวเตอร์ของผู้ผลิตยอดนิยม: HP, Lenovo, Dell

คุณสามารถดูพารามิเตอร์ BIOS พื้นฐานบนคอมพิวเตอร์ของคุณได้โดยใช้คำสั่ง Get-WmiObject จากคลาส Win32_BIOS:

Get-WmiObject -Class Win32_BIOS | Format-List *

คำสั่งนี้ช่วยให้คุณดูเวอร์ชัน BIOS (SMBIOSBIOSVersion, BIOSVersion), ผู้ผลิตฮาร์ดแวร์, หมายเลขซีเรียลคอมพิวเตอร์, ReleaseDate และข้อมูลอื่นๆ

ใช้ PowerShell ดูและเปลี่ยนการตั้งค่า BIOS

คุณสามารถแสดงรายการพารามิเตอร์ BIOS บางส่วนเท่านั้นได้:

Get-WmiObject -Class Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion

คุณสามารถใช้คลาส Win32_BIOS เพื่อดูข้อมูล BIOS บางอย่างบนคอมพิวเตอร์ใดๆ ที่รัน Windows อย่างไรก็ตาม ผู้ผลิตฮาร์ดแวร์บางรายมีคลาส WMI 特別เพื่อเข้าถึง BIOS จาก Windows OS โดยตรง (ไดรเวอร์เนทีฟของผู้ผลิตฮาร์ดแวร์ของคุณต้องติดตั้งบนคอมพิวเตอร์)

การจัดการการตั้งค่า BIOS ของ Lenovo จาก PowerShell

คุณสามารถรับรายการพารามิเตอร์ BIOS และค่าของพวกมันบนคอมพิวเตอร์ Lenovo ได้ดังนี้:

Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi

เพื่อแสดงชื่อการตั้งค่า BIOS และค่าปัจจุบันของพวกมันเท่านั้น:

Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi | select-object InstanceName, currentsetting

ใช้ PowerShell ดูและเปลี่ยนการตั้งค่า BIOS

ลองตรวจสอบว่ารหัสผ่านเพื่อเข้าถึง BIOS ถูกตั้งค่าบนคอมพิวเตอร์ Lenovo ของคุณหรือไม่:

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

หากคำสั่งคืนค่า 0 แสดงว่ารหัสผ่านเพื่อเข้า BIOS ไม่ได้ถูกตั้งค่า

ใช้ PowerShell ดูและเปลี่ยนการตั้งค่า BIOS

คุณสามารถเปลี่ยนพารามิเตอร์ BIOS บางอย่างบนคอมพิวเตอร์ Lenovo ได้ ตัวอย่างเช่น ให้เปิดใช้งาน WOL (Wake-On-LAN):

$getLenovoBIOS = gwmi -class Lenovo_SetBiosSetting -namespace root\wmi
$getLenovoBIOS.SetBiosSetting("WakeOnLAN,Enable")
$SaveLenovoBIOS = (gwmi -class Lenovo_SaveBiosSettings -namespace root\wmi)
$SaveLenovoBIOS.SaveBiosSettings()

เปลี่ยนการตั้งค่า BIOS จาก PowerShell บนคอมพิวเตอร์ Hewlett-Packard

เพื่อรับการตั้งค่า BIOS, ค่าของพวกมัน และตัวเลือกที่มีอยู่บนคอมพิวเตอร์ HP คุณสามารถใช้คำสั่งต่อไปนี้:

Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosEnumeration | select Name, value, possiblevalues –AutoSize

คุณสามารถเปลี่ยนการตั้งค่า BIOS บางอย่างบนคอมพิวเตอร์ HP จาก PowerShell ได้ ตัวอย่างเช่น คุณต้องการปิดใช้งานการบูทคอมพิวเตอร์จากอุปกรณ์ 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" แสดงว่าทำงานสำเร็จ คุณสามารถใช้ตัวจัดการ PowerShell 簡單ได้:

$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
}

หากคุณต้องการเปิดใช้งาน LAN/WLAN Switching ใน BIOS บนแล็ปท็อป HP เพื่อตัดการเชื่อมต่อ Wi-Fi อัตโนมัติเมื่อมีการเชื่อมต่อ Ethernet ให้รันคำสั่งนี้:

$getHPBios.SetBIOSSetting('LAN/WLAN Switching','Enable')

กำหนดค่าการตั้งค่า BIOS ของ DELL ด้วย PowerShell

เพื่อดูและจัดการการตั้งค่า BIOS บนคอมพิวเตอร์ DELL คุณสามารถใช้คลาส WMI DCIM-BIOSService หรือคลาส root\dellomci ที่ทันสมัยกว่า (พร้อมใช้งานหลังจากติดตั้งแพ็กเกจ OMCI — Open Manage Client Instrumentation)

เพื่อดูลำดับอุปกรณ์บูทใน BIOS บนคอมพิวเตอร์ Dell ให้รันคำสั่งต่อไปนี้:

Get-WmiObject -NameSpace root\dellomci Dell_BootDeviceSequence | sort bootorder | select BootDeviceName, BootOrder

ใช้ PowerShell ดูและเปลี่ยนการตั้งค่า BIOS

ตัวอย่างเช่น คุณสามารถเปิดใช้งาน Wake on LAN ใน BIOS ได้ดังนี้:

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

นอกจากนี้ Dell ยังเผยแพร่โมดูล PowerShell แยกต่างหาก ชื่อ DellBIOSProvider ซึ่งติดตั้งพร้อมกับการติดตั้งไดรเวอร์ หรือคุณสามารถติดตั้งด้วยตนเองด้วยคำสั่งนี้:

Install-Module -Name DellBIOSProvider -Force

คุณสามารถใช้โมดูลนี้เพื่อดูลำดับบูทบนคอมพิวเตอร์ Dell:

Get-ChildItem DellSmbios:\BootSequence\Bootsequence

เพื่อเปลี่ยนการตั้งค่า BIOS เฉพาะ ให้ใช้คำสั่ง Set-Item ตัวอย่างเช่น เพื่อเปลี่ยนรหัสผ่าน BIOS:

Set-Item -Path Dellsmbios\Security\AdminPassword –Value BadDellPa$$ –Password G00dDe11P@ss

ด้วยวิธีที่อธิบายไว้ข้างต้น คุณสามารถสร้างสคริปต์ PowerShell เพื่อส่งออกการตั้งค่า BIOS ปัจจุบันจากคอมพิวเตอร์อ้างอิง (เช่น ไปยังไฟล์ CSV) จากนั้นคุณสามารถใช้ PowerShell เพื่อปรับใช้การตั้งค่า BIOS เดียวกันบนคอมพิวเตอร์ทั้งหมดในบริษัทของคุณได้