16
Juil
Powershell – HPE – Inventaire des Firmware des cartes iLO
Comments
En Powershell, quand on veut faire l’inventaire des firmwares de ses cartes iLO, on peut s’appuyer sur la cmdlet « Find-HPEiLO » du module HPEiLOCmdlets.
La cmdlet « Find-HPEiLO » permet de scanner une ou plusieurs plages d’adresses IP et permet de remonter sans authentification des informations sur le serveur découvert et sur sa carte iLO.
Exemple de lancement :
Find-HPEiLO -Range 192.xxx.xxx.1-255,120.xxx.xxx.1-255
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
. Find-HPEiLO -Range 192.XXX.XXX.1-255,120.XXX.XXX.1-255 | Ft -AutoSize IP Hostname SPN FWRI PN SerialNumber cUUID 192.xxx.xxx.1 ilo-monSrv1 ProLiant DL385p Gen8 2,7 Integrated Lights-Out 4 (iLO 4) CZ12345678 12345678-1111-5A11-1133-123456789012 192.xxx.xxx.2 ilo-monSrv2 ProLiant DL385p Gen8 2,7 Integrated Lights-Out 4 (iLO 4) CZ23456789 12345678-2222-6A11-1133-123456789012 120.xxx.xxx.1 ilo-monSrv3 ProLiant DL380p Gen8 2,73 Integrated Lights-Out 4 (iLO 4) CZ34567890 12345678-3333-7A11-1133-123456789012 120.xxx.xxx.2 ilo-monSrv4 ProLiant DL385 G6 2,33 Integrated Lights-Out 2 (iLO 2) CZ43567890 12345678-4444-8A11-1133-123456789012 . |
En associant cette commande à la commande Group-Object qui est l’équivalent d’un Group-By SQL, on peut établir un inventaire de cette carte iLO et des Firmware installés.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
. Find-HPEiLO -Range 192.xxx.xxx.1-255,120.xxx.xxx.1-255 -full | select @{N='iLO';E={$_ | %{if($_.HostSystemInformation.nics){$ipIlo=$_.IP; ($_.HostSystemInformation.NICS | where{$_.IPAddress -eq $($ipIlo)}).description}else{($_.ManagementProcessor.PN -split{$_ -eq "(" -or $_ -eq ")"})[1]} }}}, @{N='versionFirmware';E={$_.ManagementProcessor.FWRI }} | Group-Object -Property iLO,versionFirmware Count Name Group ----- ---- ----- 2 iLO 4, 2,7 {@{iLO=iLO 4; versionFirmware=2,7}, @{iLO=iLO 4; versionFirmware=2,7}, @{iLO=iLO 4; versionFirmware=2,7}, @{iLO=iLO 4; versionFirmware=2,7}...} 1 iLO 4, 2,73 {@{iLO=iLO 4; versionFirmware=2,73}, @{iLO=iLO 4; versionFirmware=2,73}, @{iLO=iLO 4; versionFirmware=2,73}, @{iLO=iLO 4; versionFirmware=2,73}...} 1 iLO 3, 1,9 {@{iLO=iLO 3; versionFirmware=1,9}, @{iLO=iLO 3; versionFirmware=1,9}, @{iLO=iLO 3; versionFirmware=1,9}, @{iLO=iLO 3; versionFirmware=1,9}...} 3 iLO 5, 2,12 {@{iLO=iLO 5; versionFirmware=2,12}, @{iLO=iLO 5; versionFirmware=2,12}, @{iLO=iLO 5; versionFirmware=2,12}, @{iLO=iLO 5; versionFirmware=2,12}...} 4 iLO 5, 2,14 {@{iLO=iLO 5; versionFirmware=2,14}, @{iLO=iLO 5; versionFirmware=2,14}, @{iLO=iLO 5; versionFirmware=2,14}, @{iLO=iLO 5; versionFirmware=2,14}} . |
Et en modifiant la requête pour le coté cosmétique , on obtient la sortie suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
. Find-HPEiLO -Range 192.xxx.xxx.1-255,120.xxx.xxx.1-255 -full | select @{N='iLO';E={$_ | %{if($_.HostSystemInformation.nics){$ipIlo=$_.IP; ($_.HostSystemInformation.NICS | where{$_.IPAddress -eq $($ipIlo)}).description}else{($_.ManagementProcessor.PN -split{$_ -eq "(" -or $_ -eq ")"})[1]} }}}, @{N='versionFirmware';E={$_.ManagementProcessor.FWRI -replace(",",".") }} | Group-Object -Property iLO,versionFirmware | Sort-Object NAME -Descending | select Count, @{N="VersioniLo";E={$_.name.split(",")[0]}}, @{N="VersionFirmware";E={$_.name.split(",")[1]}} Count VersioniLo VersionFirmware 2 iLO 5 2.14 3 iLO 5 2.12 6 iLO 5 2.11 8 iLO 4 2.73 1 iLO 3 1.88 3 iLO 2 2.33 . |
A lire :