Simpler Navigation for Servers and Operating Systems - Please Update Your Bookmarks
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
If you have bookmarked forums or discussion boards in Servers and Operating Systems, we suggest you check and update them as needed.
Operating System - VMware
Showing results for 
Search instead for 
Did you mean: 

Problems using Get-ESXCLI with HPSSACLI

Occasional Visitor

Problems using Get-ESXCLI with HPSSACLI

Running ESXi 5.1 (free version) on a HP DL580 G7


I'm trying to use Get-ESXICli to run HPSSACLI commands from Powershell.  When trying to run the following commands I get an InvalidCastException :-





Unable to cast object of type 'System.String' to type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]'.
At line:1 char:1
+ $esxcli.hpssacli.cmd('"-q "controller all show status""')
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], InvalidCastException
    + FullyQualifiedErrorId : System.InvalidCastException


Now if look at the method definition for cmd (by running $esxcli.hpssacli) it shows this


string[] cmd(string cmdopts)


That means that it expects to receive a string as a parameter to CMD and then returns a string array called (stupidly) "string[]".  So, the command I'm running is perfectly fine but what is, in fact, being returned is a single string value.  So, Powershell throws an error saying, quite rightly, that it cannot convert a single string to a string array.


This seems like a bug to me.  It's expecting a string array but returning a single string.


Compare that with the the native ESXICLI List method of the CPU object ($esxcli.hardware.cpu)


Cpu[] list()


That returns a string array called CPU[] when the List method is run and, naturally, this works just fine.


So, am I formatting the HPSSACLI incorrectly or is this a bug?  I suspect the latter

Occasional Visitor

Re: Problems using Get-ESXCLI with HPSSACLI

Solved it!!

It's not a bug in the HPSSACLI , it's in the PowerCLI module. The latest release (r2) fixes it