EMC Storio PowerShell Toolkit

**** NOTE ****

The Storio PSToolkit is no longer supported, this page is being maintained for historical purposes.


PowerShell support is now being provided by the EMC Storage Integrator (ESI) product, which can manage more storage systems (including NAS) and provides additional functionality not available on the Storio PSToolkit.  Please see this post for more information on ESI.



EMC® Storio PowerShell Toolkit

Version 2.0



The EMC® Storio PowerShell Toolkit (PSToolkit) provides storage administrators with a set of PowerShell commands for managing EMC® CLARiiON, VNX, and Symmetrix storage arrays.


The PSToolkit utilizes the SMI-S storage management protocol defined by the Storage Networking Industry Association (SNIA).  It must be used in conjunction with a management server running the EMC® Solutions Enabler SMI-S Provider (SMI Provider) which implements the server side of the SMI-S protocol.  The SMI Provider is available as a separate download from EMC PowerLink.



The PSToolkit is supported on the following Operating Systems:

  • Windows Server 2008 R2 (only available in 64-bit)
  • Windows Server 2008 (64-bit)
  • Windows 7 (32 and 64-bit)
  • Windows Vista SP2 or later (32 and 64-bit)
  • Windows Server 2003 SP2 or later (32-bit)
  • Windows XP SP3 or later (32-bit)


The following Windows components must be present on the OS prior to installing the PSToolkit:


The following software is required on the management server:

Getting Started


To install the PSToolkit, run the setup program Setup_EMC_Storio_PSToolkit_2.0.exe. This must be done by a user belonging to the local Administrators group on the machine.  After the PSToolkit is installed the PowerShell commands can be invoked by non-Administrator users, however each user will need to belong to the appropriate roles on the SMI Provider to carry out the commands.

Silent Install

By default the setup program will run in GUI mode which will guide the user through the install process.  To install the PSToolkit in silent mode, e.g. as part of an unattended script, invoke the setup program as follows:


Verifying Installation

After the PSToolkit setup program completes successfully, a PowerShell module named EMCPSToolkit will be installed on the system.  This can be verified by running the built-in Get-Module command with the -ListAvailable flag, which lists all the modules installed on the system:

PS C:\Demo> Get-Module -ListAvailable ModuleType Name                      ExportedCommands ---------- ----                      ---------------- Manifest   AppLocker                 {} Manifest   BitsTransfer              {} Manifest   PSDiagnostics             {} Manifest   TroubleshootingPack       {} Manifest   WebAdministration         {} Manifest   EMCPSToolkit              {}

Importing the PowerShell Commands

To use the PSToolkit commands, import the EMCPSToolkit module into the PowerShell session using the built-in Import-Module command:

Import-Module EMCPSToolkit


Version 2.0 of the PSToolkit has been completely re-written from 1.x to add features as well as improve usability and reliability.  This section describes these changes.

  • Thin provisioning. The PSToolkit now has support for thin provisioning.  The New-EssStoragePool and New-EssStorageVolume commands can create thick or thin pools and volumes, respectively.
  • Clones and mirrors. In addition to snapshots, the PSToolkit now supports creating clones and mirrors of volumes using the New-EssReplica command.
  • Renaming storage elements. The Rename-EssElement command has been added to enable renaming of storage pools, volumes, and storage groups.
  • Simplified deployment and CPU architecture support.  The PSToolkit has been re-written using a pure managed (.NET) stack without dependencies on "native" components.  This enables a single set of binaries and setup program to be used on all supported architectures (x86 and x64) and enables usage in both 32 and 64 bit PowerShell sessions.
  • Managing multiple storage systems.  The PSToolkit has been redesigned to simplify working with multiple storage systems.  After connecting to a provider via Get-EssProvider, the Get-EssStorageSystem command can be used to retrieve all connected storage systems, each of which can be managed independently.
  • PowerShell module installation. The PSToolkit setup program now installs a PowerShell module which enables the commands to be accessible by any user on the machine using a single Import-Module statement.
  • Job management. Potentially long-running asynchronous operations such as volume and replica creation now return job objects which can be used to explicitly monitor and control the operation.   This is necessary to support robust behavior for non-persistent clients.  I.e. client apps or services which run independently or which may not remain while the SMI Provider carries out the operation can later re-connect and manage the pending job.
  • Pipelining. All of the commands have been redesigned to return objects containing references to storage elements and accept objects from the pipeline to enable authors to write cleaner, easier to read scripts.
  • Lightweight caching. The PSToolkit no longer queries and caches the all of storage system's elements in memory upon connecting to the SMI Provider.  The commands have been redesigned to retrieve only the desired storage elements on demand to improve performance and give script authors control over caching behavior.
  • Support for non-Administrative users.  The PSToolkit commands can now be invoked by non-Administrative users on the system.  Note that users still need appropriate rights on the SMI Provider.
  • Windows Authentication. The PSToolkit now supports authenticating users against the SMI Provider using Windows domain credentials.  This requires the SMI Provider to support and have enabled Windows Authentication.  The SMI Provider will have Windows Authentication support in the future.  Please check for updates on EMC PowerLink.

Known Issues


The following are known issues in this release:

  • Masking and mapping operations on Symmetrix is currently not supported.  This will be added in a future release of the toolkit.
  • Clone groups and clone sets are currently not supported.  This will be added in a future release of the toolkit.
  • Renaming a storage pool using the Rename-EssElement command causes the reference in the existing storage pool object to become invalid.  This means that after renaming a storage pool, using the existing storage pool object in subsequent operations will fail.  To work around this problem, use the Get-EssStoragePool command after a rename to locate and get the renamed storage pool object, which will contain a new valid reference.  This is an issue in the current version of the SMI Provider and will be fixed in a future version of the provider.  Note that this problem only occurs when renaming storage pools.  Renaming volumes or storage groups works as expected.
  • The HTML documentation for the PSToolkit does not render correctly on some older web browsers such as versions of Internet Explorer earlier than 6, although the content in most cases will still be readable.  For the best experience it is recommended that a modern web browser be installed and configured as the default on the system.