Windows PowerShell Scripting Toolkit for Nimble Array

Minimum PowerShell version


Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name HPENimblePowerShellToolkit

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Hewlett Packard Enterprise Co.


© Copyright 2019 Hewlett Packard Enterprise Development LP

Requires License Acceptance

View License.txt



Hewlett Packard Enterprise HPENimblePowerShellToolkit HPE


Test-NS2PasswordFormat Test-Ns2Type Test-NS2ID Connect-NSGroup Disconnect-NSGroup New-NSAccessControlRecord Get-NSAccessControlRecord Remove-NSAccessControlRecord New-NSChapUser Get-NSChapUser Set-NSChapUser Remove-NSChapUser New-NSPool Get-NSPool Set-NSPool Remove-NSPool Merge-NSPool Invoke-NSPoolDeDupe New-NSProtectionTemplate Get-NSProtectionTemplate Set-NSProtectionTemplate Remove-NSProtectionTemplate New-NSVolume Get-NSVolume Set-NSVolume Remove-NSVolume Restore-NSVolume Move-NSVolume Move-NSVolumeBulk Stop-NSVolumeMove Set-NSVolumeBulkDeDupe Set-NSVolumeBulkOnline Get-NSSpaceDomain Get-NSGroup Set-NSGroup Reset-NSGroup Stop-NSGroup Test-NSGroupAlert Test-NSGroupSoftwareUpdate Start-NSGroupSoftwareUpdate Start-NSGroupSoftwareDownload Stop-NSGroupSoftwareDownload Resume-NSGroupSoftwareUpdate Get-NSGroupDiscoveredList Test-NSGroupMerge Merge-NSGroup Get-NSGroupgetEULA Test-NSGroupMigrate Move-NSGroup Get-NSGroupTimeZoneList New-NSReplicationPartner Get-NSReplicationPartner Set-NSReplicationPartner Remove-NSReplicationPartner Suspend-NSReplicationPartner Resume-NSReplicationPartner Test-NSReplicationPartner New-NSMasterKey Get-NSMasterKey Set-NSMasterKey Remove-NSMasterKey Clear-NSMasterKeyInactive New-NSApplicationServer Get-NSApplicationServer Set-NSApplicationServer Remove-NSApplicationServer Get-NSEvent Get-NSFibreChannelPort Get-NSVersion New-NSInitiator Get-NSInitiator Remove-NSInitiator New-NSPerformancePolicy Get-NSPerformancePolicy Set-NSPerformancePolicy Remove-NSPerformancePolicy New-NSKeyManager Get-NSKeyManager Set-NSKeyManager Remove-NSKeyManager Move-NSKeyManager Get-NSUserPolicy Set-NSUserPolicy New-NSSnapshotCollection Get-NSSnapshotCollection Set-NSSnapshotCollection Remove-NSSnapshotCollection Get-NSShelf Set-NSShelf Show-NSShelf Remove-NSShelf Get-NSProtocolEndpoint Get-NSFibreChannelInterface Set-NSFibreChannelInterface Get-NSFibreChannelSession New-NSVolumeCollection Get-NSVolumeCollection Set-NSVolumeCollection Remove-NSVolumeCollection Invoke-NSVolumeCollectionPromote Invoke-NSVolumeCollectionDemote Start-NSVolumeCollectionHandover Stop-NSVolumeCollectionHandover Test-NSVolumeCollection New-NSToken Get-NSToken Remove-NSToken Get-NSTokenUserDetails New-NSUserGroup Get-NSUserGroup Set-NSUserGroup Remove-NSUserGroup New-NSWitness Get-NSWitness Remove-NSWitness Test-NSWitness Get-NSFibreChannelInitiatorAlias New-NSInitiatorGroup Get-NSInitiatorGroup Set-NSInitiatorGroup Remove-NSInitiatorGroup Resolve-NSInitiatorGroupMerge Test-NSInitiatorGroupLunAvailability New-NSSnapshot Get-NSSnapshot Set-NSSnapshot Remove-NSSnapshot New-NSSnapshotBulk New-NSActiveDirectoryMembership Get-NSActiveDirectoryMembership Set-NSActiveDirectoryMembership Remove-NSActiveDirectoryMembership Test-NSActiveDirectoryMembership Test-NSActiveDirectoryMembershipUser Test-NSActiveDirectoryMembershipGroup Get-NSSubnet New-NSFolder Get-NSFolder Set-NSFolder Remove-NSFolder Invoke-NSFolderDeDupe New-NSNetworkConfig Get-NSNetworkConfig Set-NSNetworkConfig Remove-NSNetworkConfig Initialize-NSNetworkConfig Test-NSNetworkConfig Get-NSController Stop-NSController Reset-NSController New-NSProtectionSchedule Get-NSProtectionSchedule Set-NSProtectionSchedule Remove-NSProtectionSchedule Get-NSApplicationCategory Get-NSAuditLog Get-NSJob Get-NSDisk Set-NSDisk Get-NSNetworkInterface Get-NSSoftwareVersion Get-NSFibreChannelConfig Update-NSFibreChannelConfig New-NSUser Get-NSUser Set-NSUser Remove-NSUser Unlock-NSUser New-NSArray Get-NSArray Set-NSArray Remove-NSArray Invoke-NSArray Stop-NSArray Reset-NSArray Get-NSAlarm Set-NSAlarm Remove-NSAlarm Clear-NSAlarm Undo-NSAlarm


This module has no dependencies.

Release Notes

HPE Nimble Storage PowerShell Toolkit 3.2.0


Table of Contents

* New Features in the HPE Nimble Storage PowerShell Toolkit 3.2.0
* Installing the HPE Nimble Storage PowerShell Toolkit
* Getting help with the HPE Nimble Storage PowerShell Toolkit
* Tips and Tricks
* Resolved Issues
* Known Issues

New Features in the HPE Nimble Storage PowerShell Toolkit 3.2.0

The following features were added in the 3.2.0 version of the toolkit:

* You can download the toolkit from Microsoft PowerShell Gallery. The
 toolkit is available under the module name:
     "HPENimblePowerShellToolkit", version 3.2.0

* Support for new NimbleOS .

Installing the HPE Nimble Storage PowerShell Toolkit

To install the HPE Nimble Storage PowerShell Toolkit:

1. Right-click on the downloaded ZIP file. If the file has the blocked
  property set, you must choose Unblock to download the file.

2. Unzip the file into the following location:


3. Verify that HPENimblePowerShellToolkit.psd1 exists in the following location:


Using the HPE Nimble Storage PowerShell Toolkit

To use the HPE Nimble Storage PowerShell Toolkit:

1. From a PowerShell prompt, import the HPE Nimble Storage PowerShell module
  by running the following command:

  PS:> Import-Module HPENimblePowerShellToolkit

2. Connect to an existing Nimble Group using one of the following commands:

  PS:> Connect-NSGroup -group -credential Username -ImportServerCertificate
  PS:> Connect-NSGroup -group -credential Username -IgnoreServerCertificate

  A pop-up box appears that prompts you for your password.

  If you choose to use the -ImportServerCertificate option, it only needs
  to done the first time you connect to the array. The import process requires
  that you have an Administrative PowerShell Window.

Getting help with the HPE Nimble Storage PowerShell Toolkit

You can get help information about either a single command or multiple commands:

* To get a complete list of PowerShell commands, run the following command:

PS:> get-command -module HPENimblePowerShellToolkit

* To get detailed help about a single command, run Get-Help with the name of the
 command, as shown in the following examples:

PS:> get-help new-NSVolume
PS:> get-help new-NSVolume -full
PS:> get-help new-NSVolume -examples

Tips and Tricks

The HPE Nimble Storage PowerShell Toolkit and the HPE Nimble Storage API use a
common ID number to uniquely identify an object, such as a volume or an initiator
group. Many commands, such as Set-NSVolume, expect you to identify the object
to be acted on. This number can be hard to transcribe manually.

Instead, you might find it useful to embed a "get-ns" type command in your
"set-ns" type command. For example, if you wanted to modify a volume named
"MyTestVolume", you could use the following set of commands:

$MyID = $(get-nsvolume -name "MyTestVolume").id
set-nsvolume -id $MyID -description "This is My Test Volume"

Alternately, if you wanted to issue this same command from a single line, you
could use the following:
set-nsvolume -id $(get-nsvolume -name "MyTestVolume").id -description "My Test Volume"

Resolved Issues in HPE Nimble Storage PowerShell Toolkit 3.2.0

Known Issues in HPE Nimble Storage PowerShell Toolkit 3.2.0

PST-80: New-NS* commands appear to accept ID as a valid parameter
Description: The help for the command shows ID as a valid parameter.
       But, because you are creating a new object, the API assigns a new ID to
       the object. As a result, the ID cannot be passed in as a parameter.

PST-79: Remove-NSSnapshot only accepts the ID parameter
Description: The help for the command shows several parameters, such as
       name, but the command only accepts ID as the valid parameter. The
       documentation should state that the ID is the only valid parameter to use
       to remove a snapshot.

PST-78: Failed to create a Protection template
Description: The failure message stating that the Protection template
       failed to be created is reported incorrectly. This message appears when
       the Protection template was actually created. The last part of the error
       message states: "The request was accepted and is being processed in the

PST-77: Get-NSVolume doesnt report back usage
Description: In the Get-NSVolume cmdlet, there is no option to get
Note: There is a field for total_usage_bytes, but that is not the same
             as usage.

PST-70: Powershell toolkit issues when working with Linux or on a Mac
Description: Neither the IgnoreCertificate nor the ImportCertificate
       options work in Linux or on a Mac.
Workaround: To connect using these platforms, you must download the
       certificate and install it separately.

PST-48: Cmdlet help shows invalid parameters
Description: New-NS<Object> and Set-NS<Object> cmdlets do not accept
       all of the object attributes as valid operation parameters. In a few
       instances, the cmdlet help shows these attributes as valid parameters.
For example, start_online is not accepted by the Set-NSSnapshotCollection
       cmdlet as a valid attribute, but the cmdlet help lists it as valid.

PST-101: Three Commands missing Synopsis
Description: The Synopsis is missing in the help for the following three
       commands: Move-NSGroup, Show-NSShelf, and Stop-NSGroupSoftwareDownload

PST-102: Command help syntax incorrectly shows that each parameter is a parameter set
Description: The multiple options are shown on different lines, which
       incorrectly indicates that they are parameter sets. They are actually all
       part of the same parameter set.

PST-57/58: Get-NSSoftwareVersion returns valid information, but also throws an exception
Description: Get-NSSoftwareVersion fails with following exception: URL
       pattern in the request does not support HTTP method GET. The error can be
       ignored and the objects returned by the execution can be processed as usual,
       either by storing the object in a variable or sending it to the pipeline.
For example you could have: "$versions = Get-NSSoftwareVersion"
       or "Get-NSSoftwareVersion | select version,status"

PST-111: PowerShell Core performance issue occurs when the return objects are huge
Description: In the case of very large return objects, such as Get-NSEvents
        where the number of returned objects are in the thousands, the PowerShell
        Core can take significantly longer to complete a task than regular
PowerShell. When retrieving 26,000 objects, the regular PowerShell
        completed the task in 5 minutes. The PowerShell Core completed the same
        task in 55 minutes.

Version History

Version Downloads Last updated
3.2.0 (current version) 395 9/8/2020
3.1.0 1,194 5/15/2020
3.0.0 2,219 4/10/2019