Pure Storage FlashArray VMware PowerShell Module

To help our customers I have written a module that includes a lot of the common operations people might need to “connect” PowerCLI to our PowerShell SDK.

Latest version (August 26th, 2020)

The module is called PureStorage.FlashArray.VMware.

New Features:

Fixed Issues:

To report issues or request new features, please enter them here:


For questions, join our Pure Storage Code Slack team! Check out the #PowerCLI channel

The module is designed into six separate modules that are included when you install the main one:

  • PureStorage.FlashArray.VMware.Configuration –this does connection management, host configuration, and generic initial setup.
  • PureStorage.FlashArray.VMware.VMFS–this offers VMFS-related cmdlets
  • PureStorage.FlashArray.VMware.vVol–this offers vVol-related cmdlets
  • PureStorage.FlashArray.VMware.RDM–this offers RDM-related cmdlets
  • PureStorage.FlashArray.VMware.Pure1–this offers Pure1 Meta-related cmdlets (experimental)
  • PureStorage.FlashArray.VMware.Software–this offers Pure Storage software deployment and management cmdlets

There are two places you can install this. The best option is the PowerShell gallery! This allows you to use install-module to automatically install the module.

It requires PowerCLI…

…and the PureStorage PowerShell SDK to be installed, the Pure Storage PowerShell SDK will be automatically installed when you install this module if it is not already.

The module will help you connect PowerCLI commands (like get-datastore or get-vmhost) to operations you might want to do on the FlashArray. The cmdlets support pipeline input for most variables (datastores, FlashArray connections, ESXi hosts, etc.).

To install:

install-module PureStorage.FlashArray.VMware

To load the module:

import-module PureStorage.FlashArray.VMware

To update:

update-module PureStorage.FlashArray.VMware

For all available commands, use get-command:

For specifics, use get-help plus the function you want.

Comment on Versioning

Versions numbering w.x.y.z (for example

  • W is iterated for large updates
  • X is iterated for new cmdlets
  • Y is iterated for new functions to existing cmdlets
  • Z is iterated for bug fixes