I have an XML Output from a FIRMWARE CHECK Script on a HPE Server.
I want to create an array to define FIRMWARE_NAME VALUE = FIRMWARE_VERSION VALUE for each index.
As you can see that Path is not consistent and there can be more or less index from server to server, hence creating a loop fails, probably because I am not good with PowerShell too and hence seeking some help.
A demo script is below:
$xml = [xml]@"
<HEAD>
<RIBCL VERSION="2.23">
<RESPONSE
STATUS="0x0000"
MESSAGE='No error'
/>
<GET_EMBEDDED_HEALTH_DATA>
<FIRMWARE_INFORMATION>
<INDEX_1>
<FIRMWARE_NAME VALUE = "iLO"/>
<FIRMWARE_VERSION VALUE = "2.40 Dec 02 2015"/>
</INDEX_1>
<INDEX_2>
<FIRMWARE_NAME VALUE = "System ROM"/>
<FIRMWARE_VERSION VALUE = "I31 06/01/2015"/>
</INDEX_2>
<INDEX_3>
<FIRMWARE_NAME VALUE = "Redundant System ROM"/>
<FIRMWARE_VERSION VALUE = "I31 04/01/2015"/>
</INDEX_3>
<INDEX_4>
<FIRMWARE_NAME VALUE = "Intelligent Provisioning"/>
<FIRMWARE_VERSION VALUE = "1.62.31"/>
</INDEX_4>
<INDEX_5>
<FIRMWARE_NAME VALUE = "Intelligent Platform Abstraction Data"/>
<FIRMWARE_VERSION VALUE = "1.55"/>
</INDEX_5>
<INDEX_6>
<FIRMWARE_NAME VALUE = "System ROM Bootblock"/>
<FIRMWARE_VERSION VALUE = "03/05/2013"/>
</INDEX_6>
<INDEX_7>
<FIRMWARE_NAME VALUE = "Power Management Controller Firmware"/>
<FIRMWARE_VERSION VALUE = "3.3"/>
<FIRMWARE_FAMILY VALUE = "0Ch"/>
</INDEX_7>
<INDEX_8>
<FIRMWARE_NAME VALUE = "Power Management Controller Firmware Bootloader"/>
<FIRMWARE_VERSION VALUE = "2.7"/>
</INDEX_8>
<INDEX_9>
<FIRMWARE_NAME VALUE = "System Programmable Logic Device"/>
<FIRMWARE_VERSION VALUE = "Version 0x13"/>
</INDEX_9>
<INDEX_10>
<FIRMWARE_NAME VALUE = "Server Platform Services (SPS) Firmware"/>
<FIRMWARE_VERSION VALUE = "2.1.7.E7.4"/>
</INDEX_10>
<INDEX_11>
<FIRMWARE_NAME VALUE = "Smart Array P220i Controller"/>
<FIRMWARE_VERSION VALUE = "6.68"/>
</INDEX_11>
<INDEX_12>
<FIRMWARE_NAME VALUE = "HP FlexFabric 10Gb 2-port 554FLB Adapter"/>
<FIRMWARE_VERSION VALUE = "10.5.155.0"/>
</INDEX_12>
</FIRMWARE_INFORMATION>
</GET_EMBEDDED_HEALTH_DATA>
</RIBCL>
</HEAD>
"@
EXPECTED OUTPUT: in the array
iLO= 2.40 Dec 02 2015
System ROM= I31 06/01/2015
Redundant System ROM= I31 04/01/2015
Intelligent Provisioning= 1.62.31
Intelligent Platform Abstraction Data= 1.55
System ROM Bootblock= 41338
Power Management Controller Firmware= 3.3
Power Management Controller Firmware Bootloader= 2.7
System Programmable Logic Device= Version 0x13
Server Platform Services (SPS) Firmware= 2.1.7.E7.4
Smart Array P220i Controller= 6.68
HP FlexFabric 10Gb 2-port 554FLB Adapter= 10.5.155.0