HP WBEM Harddrive Model and Firmware revision

(imported topic written by sowensby91)

I am trying to match up HP Harddrive model numbers and firmware using “wmi/HPQ”. Unfortunately they are in 2 different Proerties of the same Class. I wrote this analysis:

concatenation "; " of ((string value of property "ElementName" of it, string value of property "VersionString" of it) of select objects "ElementName, VersionString from HPSA_DiskDriveFirmware" of wmi "root/HPQ" as string)

and it is working as expected.

Now I am trying to create a fixlet to deploy new firmware to disks that do not have the latest firmware. I cannot get the relevance to match ElementName and Version string for each individual disk. Any ideas? Thanks

(imported comment written by BenKus)

Can you explain more about what you want the Fixlet relevance to check for?

Ben

(imported comment written by SystemAdmin)

are you trying to see if the VersionStrings are different or below a certain level

Q: ((string value of property “ElementName” of it, string value of property “VersionString” of it) of select objects “ElementName, VersionString from HPSA_DiskDriveFirmware” of wmi “root/HPQ” as string)

A: Port:1I Box:1 Bay:1, HPD4

A: Port:1I Box:1 Bay:2, HPD7

(imported comment written by sowensby91)

HP releases firmware for a series of drives. For example:

http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?lang=en&cc=US&swItem=MTX-c9cedd33598a4ed18753f2806b&prodTypeId=329290&prodSeriesId=1127655

So I need to look at any of the drives in all of my servers that have the Model Numbers DG036A8B53 or DG072A8B54 and is not firmware revision HPD7.

The issue is that there may be other models of hard drives in the server.

Q: ((string value of property “ElementName” of it, string value of property “VersionString” of it) of select objects “ElementName, VersionString from HPSA_DiskDriveFirmware” of wmi “root/HPQ” as string)

A: DG072A8B54, HPD6

A: DG072A8B54, HPD7

A: DG072ABAB3, HPDD

A: DG072A8B54, HPD7

A: DG072A9BB7, HPD0

A: DG072A8B54, HPD7

(imported comment written by BenKus)

Try something like this:

Q: ((string value of property “ElementName” of it, string value of property “VersionString” of it) of select objects “ElementName, VersionString from HPSA_DiskDriveFirmware” of wmi “root/HPQ” as string) whose ((item 0 of it = “DG036A8B53” OR item 0 of it = “DG072A8B54”) AND (item 1 of it !=“HPD7”))

Ben

(imported comment written by sowensby91)

Q: ((string value of property “ElementName” of it, string value of property “VersionString” of it) of select objects “ElementName, VersionString from HPSA_DiskDriveFirmware” of wmi “root/HPQ” as string) whose ((item 0 of it = “DG036A8B53” OR item 0 of it = “DG072A8B54”) AND (item 1 of it !=“HPD7”))

E: The tuple index 0 is out of range.

(imported comment written by sowensby91)

Here it the final relevance I came up with for a Fixlet/Task:

Q: exists ((string value of property “ElementName” of it, string value of property “VersionString” of it) of select objects “ElementName, VersionString from HPSA_DiskDriveFirmware” of wmi “root/HPQ”) whose ((item 0 of it = “DG036A8B53” OR item 0 of it = “DG072A8B54”) AND (item 1 of it !=“HPD7”))

Thanks for the help Ben.