Written by Justin Braun, Dell Storage Applications Engineering

Back in 2008, Compellent released their first iteration of the PowerShell Command Set. They were the first storage vendor on the scene to provide PowerShell automation capabilities with the Series 40 array.

Fast forward a bunch of years. The PowerShell Command Set has grown from 50 cmdlets to over 100, and added the capability to work with more advanced features like replication and Live Volume.

In late 2015, Dell Storage introduced the Enterprise Manager API (EM-API) and also the Dell Storage PowerShell SDK, which uses the EM-API. With the introduction of the EM-API, we went from exposing 100 cmdlets for operations to over 1,000. The possibilities are endless as you head down the road to automation and the orchestration of your Dell Storage environment.

What's the difference?

The biggest difference between using the command set and the SDK is in the execution of the cmdlets. The new SDK uses the EM-API made available in Enterprise Manager 2015 R2. With the EM-API and the PowerShell SDK, cmdlet calls are directed to the EM Data Collector server. This is different from the Command Set behavior where calls are directed at the management IP address of the array controllers.

What other changes are there?

Notably, the naming conventions changed for all of the cmdlets. Previously, Command Set cmdlets were in the format of "Get-SC....". With the PowerShell SDK, those have been further refined to adhere to naming conventions. So, for example, the Command Set has a cmdlet called "Get-SCVolumeMap". That equivalent cmdlet in the SDK is now "Get-DellScMapping". Along with the cmdlet name changes, you'll find that a lot of the parameters for each cmdlet have changed as well.

Is there a one-to-one mapping of the cmdlets available anywhere?

There is a table in the Getting Started page of the PowerShell SDK HTML Help that shows how old cmdlets map to the new ones. Due to the sheer nature of the number of cmdlets now supported, changes were necessary in the overall naming. If you have existing scripts written for the Command Set, they will need to be modified to work with the SDK.

Is the Command Set going away? Do I need to convert all of my scripts now?

The current direction is to move away from the Command Set and place all future focus on the EM-API. There is no further Command Set development planned, but there has also not been an end-of-life date established. It makes sense to start looking at the PowerShell SDK to get an idea of what changes your current scripts will require. It also provides you an opportunity to implement features in your scripts that might not have been previously available with the use of the Command Set.

Where do I start?

If you're looking for a good primer on using the Dell Storage PowerShell SDK (download), there are a couple of great resources available:

The Introduction to Dell Storage PowerShell SDK video walks you through the basics of the setup, configuration, and usage of the PowerShell SDK. If you're a previous Compellent PowerShell Command Set user, this will get you up and running quickly.