New Release! Pure Storage PowerShell SDK

This new release of the Pure Storage PowerShell SDK provides easier access to IO and Space reporting metrics. For those customers that are interested in creating reports this is must upgrade. In previous releases gaining access to the IO and Space metrics proved to be a bit challenging and with this release we are providing Totals, Averages and ByTimeRange for easier access to the data. The updates for REST 1.5, 1.6 and 1.7 regarding IO and Space metrics is listed below.

Cmdlet Additions

The following cmdlets have been added since the last release to support REST 1.5

  • Update-PfaArrayConnectionsThrottlingInformation
  • Get-PfaArrayConnectionsThrottlingInformation
  • Get-PfaAllHostIOMetrics
  • Get-PfaHostIOMetrics
  • Get-PfaAllHostGroupIOMetrics
  • Get-PfaHostGroupIOMetrics


The following cmdlets have been added since the last release to support REST 1.6

  • Get-PfaArraySpaceMetricsByTimeRange
  • Get-PfaAllVolumeSpaceMetricsByTimeRange
  • Get-PfaVolumeSpaceMetricsByTimeRange


The following cmdlets have been added since the last release to support REST 1.7

  • Get-PfaArrayIOMetricsAverage
  • Get-PfaAllHostIOMetricsTotal
  • Get-PfaAllHostIOMetricsAverage
  • Get-PfaHostIOMetricsAverage
  • Get-PfaAllHostGroupIOMetricsTotal
  • Get-PfaAllHostGroupIOMetricsAverage
  • Get-PfaHostGroupIOMetricsAverage
  • Get-PfaAllVolumeIOMetricsAverage
  • Get-PfaAllVolumeIOMetricsTotal
  • Get-PfaVolumeIOMetricsAverage


In addition to introducing the IO and Space metric cmdlets we have created a New-PfaCLICommand cmdlet. This cmdlet can be used to pass any Purity CLI command to an EndPoint (aka FlashArray). Here is an example of how to use the cmdlet:

PS C:\> New-PfaCLICommand -EndPoint -Credentials (Get-Credential) -CommandText 'purevol list'

cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Name                        Size  Source  Created                  Serial
Apps-CSV-1                  10T   -       2016-05-24 15:05:44 PDT  882DFE06B584407F0001105A
Apps-Quorum-1               100M  -       2016-07-21 13:04:04 PDT  882DFE06B584407F00011063
Apps1-host1                 100G  -       2016-08-30 23:44:09 PDT  882DFE06B584407F0001109B
Infra-CSV-1                 5T    -       2016-05-24 13:27:42 PDT  882DFE06B584407F00011058
Infra2-SQL-Data             1T    -       2016-05-06 09:30:58 PDT  882DFE06B584407F00011053
Infra2-SQL-System           100G  -       2016-05-06 09:30:58 PDT  882DFE06B584407F00011054
Infra2-SQL-Tempdb           750M  -       2016-05-06 09:30:58 PDT  882DFE06B584407F00011055
Infra2-VMMLibrary           1T    -       2016-05-07 15:23:09 PDT  882DFE06B584407F00011057
MSPrivateCloud-Apps1-Boot   300G  -       2016-04-27 00:20:07 PDT  882DFE06B584407F0001103E
MSPrivateCloud-Apps1-Data   3T    -       2016-04-27 00:24:16 PDT  882DFE06B584407F00011046
MSPrivateCloud-Apps2-Boot   300G  -       2016-04-27 00:20:07 PDT  882DFE06B584407F0001103F
MSPrivateCloud-Apps2-Data   3T    -       2016-07-26 15:12:03 PDT  882DFE06B584407F00011072
MSPrivateCloud-Apps3-Boot   300G  -       2016-04-27 00:20:07 PDT  882DFE06B584407F00011040
MSPrivateCloud-Apps3-Data   3T    -       2016-04-27 00:25:16 PDT  882DFE06B584407F00011048
MSPrivateCloud-Apps4-Boot   300G  -       2016-05-05 02:11:40 PDT  882DFE06B584407F0001104A
MSPrivateCloud-Apps4-Data   3T    -       2016-05-24 13:30:01 PDT  882DFE06B584407F00011059
MSPrivateCloud-Infra1-Boot  300G  -       2016-04-27 00:20:07 PDT  882DFE06B584407F0001103D
MSPrivateCloud-Infra1-Data  500G  -       2016-04-27 00:23:50 PDT  882DFE06B584407F00011045
MSPrivateCloud-Infra2-Boot  300G  -       2016-05-04 23:05:16 PDT  882DFE06B584407F00011049

We implemented this cmdlet to ensure customers and partners have access to commands that may have either not made it into the REST API or the SDK.

Other Additions & Changes

  • Get-PfaVolumeIOMetricsByTimeRange — Old name was Get-PfaVolumeIOMetrics.
  • Get-PfaProtectionGroupSchedules
  • Get-PfaSourceProtectionGroupSchedules
  • Set-PfaDirectoryServiceStatus — Enable/disable Active Directory integration.
  • Set-PfaDirectoryServiceAuthenticationStatus — Enable/disable server authenticity enforcement using configured CA certificate.
  • Set-PfaDirectoryServiceGroupBase  — Set base OU for ArrayAdmin/StorageAdmin/Readonly security groups.
  • Removed CheckPeer and Enabled switch parameters from Set-PfaDirectoryServiceConfiguration – the functionality is provided by new cmdlets Set-PfaDirectoryServviceAuthenticationStatus and Set-PfaDirectoryServiceStatus.
  • In 1.5 version of the SDK, Get-PfaVolumeIOMetrics would get historical performance data for the specified volume. This has been renamed to Get-PfaVolumeIOMetricsByTimeRange.
  • A new cmdlet with the same name (Get-PfaVolumeIOMetrics) is added to list IO metrics attributes for the specified volume.
  • In 1.5 version of the SDK, Get-PfaAllVolumeIOMetrics would get IO metrics for a specific volume – this has been renamed to Get-PfaVolumeIOmetrics.
  • Fixed bug with Get-PfaInitiatorPorts where it was only returning array ports.
  • Added the ability to connect to an array using API token. Use Get-Help New-PfaArray for full details.


The PowerShell SDK can be installed using the following:


If you need help installing from the PowerShell Gallery see this article, PowerShell SDK & Toolkit available via the PowerShell Gallery.