当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 查看和更改 BIOS 设置

作者:精品下载站 日期:2024-12-14 20:07:06 浏览:18 分类:玩电脑

使用 PowerShell 查看和更改 BIOS 设置


您可以使用 PowerShell 查看或更改运行 Windows 的计算机上的 BIOS 设置。让我们考虑一些示例,您可以使用 PowerShell 通过 WMI 类(Windows Management Instrumentation)在流行供应商的计算机上获取或修改某些 BIOS 设置:HP、Lenovo、Dell。

您可以使用 Win32_BIOS 类中的 Get-WmiObject cmdlet 查看计算机上的基本 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 类查看任何运行 Windows 的计算机上的一些 BIOS 信息。但是,一些硬件供应商提供特殊的 WMI 类来从 Windows 操作系统直接访问 BIOS(硬件制造商的本机驱动程序必须安装在计算机上)。

通过 PowerShell 管理 Lenovo BIOS 设置

您可以在 Lenovo 计算机上获取 BIOS 参数及其值的列表,如下所示:

Get-WmiObject -class Lenovo_BiosSetting -namespace root\wmi

仅显示 BIOS 设置的名称及其当前值:

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

[玩转系统] 使用 PowerShell 查看和更改 BIOS 设置

让我们检查一下您的 Lenovo 计算机上是否设置了访问 BIOS 的密码:

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

如果命令返回0,则表示未设置进入BIOS 的密码。

[玩转系统] 使用 PowerShell 查看和更改 BIOS 设置

您可以更改 Lenovo 计算机上的某些 BIOS 参数。例如,让我们启用 WOL(局域网唤醒):

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

在 HP 计算机上通过 PowerShell 更改 BIOS 设置

要获取 HP 计算机上的 BIOS 设置、其值和可用选项,您可以使用以下命令:

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

您可以通过 PowerShell 更改 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”,则说明执行成功。您可以使用简单的 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
}

如果要在 HP 笔记本电脑上的 BIOS 中启用 LAN/WLAN 切换,以便在以太网连接可用时自动断开 Wi-Fi,请运行以下命令:

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

使用 PowerShell 配置 DELL BIOS 设置

要查看和管理 DELL 计算机上的 BIOS 设置,您可以使用 DCIM-BIOSService WMI 类或更现代的 root\delomci 类(在安装 OMCI 软件包后可用 - Open Manage Client Instrumentation)。

要在 Dell 计算机上的 BIOS 中查看引导设备顺序,请运行以下命令:

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

[玩转系统] 使用 PowerShell 查看和更改 BIOS 设置

例如,您可以在 BIOS 中启用 LAN 唤醒,如下所示:

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

此外,戴尔还发布了一个单独的 PowerShell 模块 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

使用上述方法,您可以创建 PowerShell 脚本以从参考计算机导出当前 BIOS 设置(例如,导出到 CSV 文件)。然后,您可以使用 PowerShell 在公司的所有计算机上部署相同的 BIOS 设置。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯