【问题标题】:How to list BIOS Major/Minor Release Version using PowerCLI?如何使用 PowerCLI 列出 BIOS 主要/次要版本?
【发布时间】:2020-10-16 10:15:59
【问题描述】:

我正在尝试确保在一系列运行 ESXi 的 HP Proliant 服务器上具有正确的 BIOS 版本。我想使用 PowerCLI 返回每个主机的 BIOS 主要版本和 BIOS 次要版本信息。

目前为止,在使用PowerCLI查询BIOS信息时,只得到基本版本信息(“P89”),如下图(我明显省略了真实的主机名值):

PS \> Get-View -ViewType HostSystem -Filter @{'Name' = $servername} | select Name,
>> @{N='BIOSversion';E={$_.Hardware.BiosInfo.BiosVersion}}

Name                        BIOSversion
----                        -----------
$servername                 P89

但是,如果我通过 SSH 连接到该主机,我可以使用 'vsish' 来识别 BIOS 主要版本和 BIOS 次要版本信息(即 v2.76):

root@<servername>: ~# vsish
/> get /hardware/bios/biosInfo
BIOS Information (type 0) {
   BIOS Vendor:HP
   BIOS Version:P89
   BIOS Release Date:10/21/2019
   BIOS Major Release:2
   BIOS Minor Release:76
   Embedded Controller Firmware Major Release:2
   Embedded Controller Firmware Minor Release:73
}

有没有办法使用 PowerCLI 返回 BIOS Major Release 和 BIOS Minor Release 数据,而无需直接通过 SSH 连接到主机?

提前谢谢你!

【问题讨论】:

  • $_.Hardware.BiosInfo.MajorRelease$_.Hardware.BiosInfo.MinorRelease 应该有数据。

标签: powershell bios powercli esxi


【解决方案1】:

如果该信息在 PowerCLI 中可用,它将位于 $_.Hardware.BiosInfo.MajorRelease$_.Hardware.BiosInfo.MinorRelease。要使用版本语法加入主要和次要版本,您可以使用 -join 运算符执行以下操作:

Get-View -ViewType HostSystem -Filter @{'Name' = $servername} |
    Select Name,@{N='BIOSversion';E={$_.Hardware.BiosInfo.BiosVersion}},
    @{n='BIOSRelease';e={$_.HardWare.BiosInfo.MajorRelease,$_.Hardware.BiosInfo.MinorRelease -join '.'}}

【讨论】:

  • 谢谢@AdminOfThings!这正是我一直在寻找的!奇怪的是,它似乎只返回 ESXi v6.7 的数据,而不是 ESXi 6.0 的数据,但我可以继续在那里挖掘......再次感谢!
  • 来自 VMware 的更新,看起来 ESXi v6.0 不包含允许从 $_.Hardware.BiosInfo.MajorRelease 和 $_.Hardware.BiosInfo.MinorRelease 返回数据的功能。
猜你喜欢
  • 2012-10-11
  • 2016-12-27
  • 2013-12-12
  • 2013-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-19
  • 1970-01-01
相关资源
最近更新 更多