HP 3PAR StoreServ PowerShell Toolkit Installation

HP recently released a PowerShell toolkit for the 3PAR StoreServ SAN. This is great news if you are familiar with the Microsoft PowerShell environment and wish to leverage it to manage your 3PAR arrays. Today I’m going to deploy the 3PAR PowerShell toolkit and demonstrate some of the commands that can be leveraged.


Download Details and System Requirements

The toolkit can be downloaded from the following link, note you will have to login with your HP account to gain access. The version currently available is 1.0 and we expect future updates to bring great functionality.


The following 3PAR operating system firmware versions are supported –

  • 3.1.1 (including all Major Updates)
  • 3.1.2 (including all Major Updates)
  • 3.1.3 (including all Major Updates)
  • 3.2.1 (including all Major Updates)

HP support the toolkit on the following Microsoft Windows operating systems –

  • Windows 7
  • Windows 7 SP1
  • Windows 8
  • Windows 8.1
  • Windows Server 2008 SP1
  • Windows Server 2008 R2
  • Windows Server 2008 R2 SP1
  • Windows Server 2012
  • Windows Server 2012 R2

Note – PowerShell version 2.0 and above are supported.


Toolkit Features

The HP documentation provides the following information with regard to the toolkit features –

The PowerShell Toolkit supports cmdlets, which are a wrapper around the native HP 3PAR StoreServ Storage CLI commands.

  • When a cmdlet is run, the following actions take place:
    • A secure connection to the HP 3PAR StoreServ Storage console is established over Secure Shell.
    • The native HP 3PAR StoreServ Storage CLI command and parameters are formed based on the PowerShell cmdlet and parameters.
    • The native HP 3PAR StoreServ Storage CLI command is executed.
  • The output of most of the cmdlets is returned as text.
  • The output of some of the cmdlets is returned as PowerShell objects. This output can be piped to other PowerShell cmdlets for search.

There are 36 cmdlets available in the current version of the toolkit covering the following –

  • Viewing and managing Common Provision Groups (CPG)
  • Viewing and managing Virtual Volumes
  • Viewing and managing Virtual Volume Sets
  • Viewing and managing Hosts
  • Viewing and managing Host Sets
  • Viewing and managing Virtual Logical Unit Number (vLUN)
  • Viewing and managing Physical copies
  • Viewing and managing Virtual copies (Snapshots)
  • Viewing and managing Ports
  • Viewing and managing Tasks

While the cmdlets don’t cover every function of the array we do have a good starting set which I am sure HP will expand in future releases.



Installation is fairly simple, obviously we first need to download a copy of the PowerShell toolkit from the HP website using the link at the top of this article.

Next we need to extract the zip file and then decide on whether we want the PowerShell modules to be available to just the currently logged on user or all users of the system.

Current User – Copy the folder ‘HP3PARPSToolkit’ to –

All Users – Copy the folder ‘HP3PARPSToolkit’ to –


To connect to the 3PAR arrays using Secure Shell (SSH) we need the Putty tool Plink.exe. This can be downloaded from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Once downloaded we need to copy Plink.exe to a folder at the root of C:\

Note – You can create a folder and save Plink.exe to anywhere on your machine, this path is the default location I will use for the article. When we connect our PowerShell console to the 3PAR we define the location of Plink.exe so feel free to save it somewhere else if you prefer.

Finally we need to open a PowerShell console and import the new 3PAR toolkit modules. To do this we use the Import-Module cmdlet.

If required, log files can be found at the following locations (dependent on install) –



3PAR PowerShell Cmdlets

We are finally in a position to start using some of the new 3PAR PowerShell cmdlets!

First off let me show you how to get a listing of all the available cmdlets, for this we use Get-3parCmdList –


If you want to view help information for a cmdlet you do this in exactly the same way as any other PowerShell session with the Get-Help cmdlet –

This gives us a short help summary however we can get a more extensive breakdown by adding the –Full switch to the command –


Connect PowerShell Toolkit to 3PAR

Now that we know how to find a list of cmdlets and view help information it’s time to actually connect to a 3PAR array. To do this we will leverage the New-SANConnection cmdlet. I have provided the default ‘root’ account username and password in this example.

If this is your first time connecting you will receive an error message like this –

At this point we need to confirm we wish to connect and add the array fingerprint by pressing ‘y’. I’ve found the PowerShell ISE console doesn’t always pass this through correctly. I’d suggest using a standard PowerShell console instead, once the key is cached you can use the ISE without being prompted. Alternately you could just launch Plink.exe and connect to the array once and accept the key so it is added to the Plink.exe cache.

Now that we have connected we can test a few of the cmdlets. Let’s start by running Get-3parVersion –

Now let us try another cmdlet, this time Get-3parVV –

If we wanted to create a new virtual volume the cmdlet New-3parVV would be used –

We can of course pipe output from a cmdlet. Below is an example where I take the output from Get-3parVV and pipe it through a ‘where’ statement to help me find volumes with a name similar to ‘bsa_esxi’. You will notice that the volumes show up multiple times, in this case it is because they are part of an Autonomic Optimisation (AO) configuration and therefore span multiple CPGs (SSD, SAS, NLSAS).


I’m only scratching the surface in terms of the cmdlets available and the clever ways they could be used – I’d love to hear what other people come up with, if you have some cool PowerShell scripts you want to share with the community please comment or contact me directly on Twitter.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.