通过powershell修改BIOS密码

Change BIOS password through powershell

我想构建一个脚本来更改 and/or 设置 HP 工作站的 BIOS 密码。

脚本i 运行如下:

C:\> $computers=Get-Content -Path c:\computers.txt
C:\> foreach ($computer in $computers) {
$passChange=Get-WmiObject -computername $computer -Namespace root/hp/instrumentedBIOS -Class HP_BIOSSettingInterface
$passChange.SetBIOSSetting('Setup Password','<utf-16/>MYNEWPASSWORD','<utf-16/>')
}

现在,发生以下情况:

  1. 如果我的 BIOS 没有密码,脚本就可以正常工作!
  2. 如果我的 BIOS 已经有密码,脚本有 Return: 6. 我想有 更改 BIOS 密码的不同选项?如果是,任何帮助 很感激!
  3. 如果我 运行 适用于我的计算机的脚本,它就可以工作。
  4. 如果我 运行 另一台计算机的脚本我得到以下错误:

    RPC 服务器不可用。 (HRESULT 异常:0x800706BA)。

    有没有办法启用一个选项来启用此功能的 RPC,然后再次禁用它?

提前致谢

根据 HP 的文档HP Client Management Interface,WMI 界面支持远程连接。

您需要确保您尝试连接的所有远程计算机都具有 HP 自定义 WMI 命名空间。

您还需要确保您 运行 所在的帐户对所有远程计算机具有管理权限。

您可能还需要将模拟显式设置为 3,即模拟。

更多信息:Connecting to WMI Remotely with PowerShell

还要确保远程计算机上的防火墙已关闭或已排除 WMI