Viszont kapóra jön ilyenkor, ha a host gyártójának van valamilyen PowerShell modulja, amivel a hardware-ről lehet lekérdezni információkat. A HPE esetében pont ez a helyzet.
Egy korábbi bejegyzésben leírtam, hogy miként lehet a hostokat ellátni olyan címkékkel, amik az adott host iLO címét tartalmazzák. Ezt kihasználva viszont már igen könnyű dolgunk van, mivel a van egy Get-HPiLOFirmwareInfo parancs, amivel a hiányzó információt ki tudjuk nyerni.
A script a következő:
$h=get-vmhost
$iLOIP=$h|
Select Name,@{N="iLO";E={((Get-TagAssignment -Category
ILO_IP -Entity
$_ | select -ExpandProperty
Tag).Name)}}
$adminmol=get-credential
$hbareport=@()
foreach ($h1
in $h)
{
$ilo=$iloip|?{$h1.name -eq $_.name}
if ($ilo.ilo -gt " ")
{
$report=""|select-object Host_Name,hba_driver,hba_firmware
$c=$h1|Get-EsxCli
$hba_driver=$c.software.vib.list()|?{$_.name -eq "lpfc"}|select version
$hba_firmwareinfo=Get-HPiLOFirmwareInfo -Server $ilo.ilo -Credential $adminmol
$hba_firmware=$hba_firmwareinfo.firmwareinfo|?{$_.firmware_name
-like "*Flex*"}
$report.Host_name=$h1.name
$report.hba_driver=$hba_driver.Version
$report.hba_firmware=$hba_firmware.FIRMWARE_VERSION
$hbareport+=$report
}
}
A kapott output pedig így néz ki:
Host_Name
hba_driver
hba_firmware
---------
----------
------------
xxxxxxxxxxxxxxxxxxxxxxxx 11.2.266.0-1OEM.650.0.0.4598673
11.2.1226.20
yyyyyyyyyyyyyyyyyyyyyyyy 11.2.266.0-1OEM.650.0.0.4598673
11.2.1226.20
zzzzzzzzzzzzzzzzzzzzzzzz 11.2.266.0-1OEM.650.0.0.4598673
11.2.1226.20
Mivel pl. az UCS szerverekhez is létezik PowerShell modul, ez a módszer ott is követhető.
Nincsenek megjegyzések:
Megjegyzés küldése