Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows 10

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

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

คุณสามารถดูพารามิเตอร์ BIOS พื้นฐานบนคอมพิวเตอร์ของคุณโดยใช้ Get-WmiObject cmdlet จาก 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 (ต้องติดตั้งไดรเวอร์ดั้งเดิมโดยผู้ผลิตฮาร์ดแวร์ในคอมพิวเตอร์)

การจัดการการตั้งค่า Lenovo BIOS จาก 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 ใน BIOS บนแล็ปท็อป HP เพื่อตัดการเชื่อมต่อจาก Wi-Fi โดยอัตโนมัติเมื่อมีการเชื่อมต่ออีเทอร์เน็ต ให้เรียกใช้คำสั่งนี้:

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

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

ในการดูและจัดการการตั้งค่า BIOS บน DELL คอมพิวเตอร์ คุณสามารถใช้ DCIM-BIOSService คลาส WMI หรือ root\dellomci ที่ทันสมัยกว่า คลาส (ใช้ได้หลังจากการติดตั้งแพ็คเกจ OMCI — เปิด 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 cmdlet ตัวอย่างเช่น ในการเปลี่ยนรหัสผ่าน BIOS:

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

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