en-US/about_Unity_Module.help.txt
TOPIC
about_Unity_Module SHORT DESCRIPTION Explains how to import and use the Unity module. LONG DESCRIPTION The PowerShell module for Dell Unity provides cmdlets for management of Unity arrays. Cmdlets in this module provide tools for provisioning of LUNs, consistency groups, snapshots, hosts, host groups (Unisphere 5.1 or higher is required), and managing local and remote replications. HOW TO USE THE MODULE The module must be imported using the Import-Module command. # Simple option to import the module Import-Module Dell.Unity # Import the module using a prefix of Unity for each command Import-Module -Prefix Unity Dell.Unity The use of the prefix will allow for all cmdlets to be called via a prefixed form of the cmdlet, e.g. Get-UnityHost can be used instead of Get-Host. This is useful for cases where there is a name conflict between the cmdlets in different modules. An alternative is to prefix the cmdlet with the module name, e.g. Dell.Unity\Get-Host. The Unity module communicates with one or more Unity arrays via HTTPS using the Unisphere REST API. Most cmdlets require that a Unity object be used. Use the Connect-UnityArray cmdlet to connect to the target Unity array and save the output to a variable, e.g. $unity. $unity = Connect-UnityArray -HostName <address> <credential> Only TLS 1.2 protocol is supported. Certificates need to be imported to the Trusted Root Certification Authorities prior to running the Connect-UnityArray command. To disable certificate validation, run "[Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }" prior to executing the Connect-UnityArray cmdlet. Please note that this will disable certificate validation for all cmdlets in current PowerShell session including commands from other modules. Supported Unisphere Versions Unisphere versions 5.0.6 and higher are supported in this release. Several cmdlets require Unisphere 5.1. Some input parameters may only be applicable to Unisphere 5.1. Please check individual cmdlet for details. For file support, SMB and CIFS are used interchangeably. Cmdlet Input For cmdlets have input parameters with nested arrays or IDictionary containing array values, array of objects should be used, instead of array of a specific type (e.g., array of strings). For cmdlets use integer value of number of seconds as input, New-TimeSpan cmdlet can be used to convert minutes, hours or days to seconds, e.g., (New-TimeSpan -Days 7).TotalSeconds. When ID of a file system is used as an input parameter (e.g., in Remove-Filesystem), it should be the ID of the file system, e.g., fs_xxx, not the ID of the storage resource (e.g., res_xxx). Cmdlet Output Unity resource instance returned from a cmdlet will only have resource ID for referenced object, e.g., Pool and StorageResource properties of LUN or file system. To get details of the referenced object, use corresponding Get cmdlet for the resource type with the ID, e.g., using Get-Pool to get details of the pool, and using Get-StorageResource to get details of the storage resource. Nested referenced property can be displayed with Format-Table, Format-List, Format-Custom, or Select-Object cmdlets using calculated property. For examples, Get-Filesystem $unity -Id fs_1 | Format-Table -Property Id,Name,@{n="StorageResourceId";e={ $_.StorageResource.Id }} Where $unity is a Unity array instance. Returns ID, Name and storage resource ID of the file system fs_1 on the Unity array. (Get-Filesystem $unity -Id fs_1).StorageResource.Id | Get-StorageResource $unity | Format-Table -Property Id,@{n="IsSnapSchedulePasued";e={ $_.IsSnapSchedulePaused }},@{n="SnapshotScheduleId";e={ $_.SnapSchedule.Id }} Where $unity is a Unity array instance. Returns ID, IsSnapSchedulePasued and snapshot schedule ID of the storage resource instance associated with the file system fs_1 on the Unity array. For more information about calculated property, see https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_calculated_properties?view=powershell-5.1. Instances in output can be filtered based on their property values by using Where-Object command, for example, Get-Host $unity -Identify | Where-Object Name -eq "HOST1", will display hosts with name HOST1. To learn more about the Where-Object command, please use "help Where-Object". Get Cmdlet Get cmdlet with Name parameters will return a single instance that matches with a given name (case sensitive). For resource types where non unique name is allowed (e.g., Host), exception will be thrown in case of multiple instances with the same name. To get IDs with the name, use Identify parameter and filter output accordingly. Name parameter will not be supported for resource types that do not have a Name property. Identify parameter will not be supported either (unless other property could be used instead of Name). Force Parameter For all cmdlets where the Force parameter is supported, the parameter is used to skip confirmation before performing the operation. It is not related to the "force" parameter (if any) in Unisphere REST API. If Unisphere REST API has a parameter with name "force", it will be "Force<Operation>", e.g., ForceDelete, as cmdlet parameter. Switch and Boolean Parameter in New and Set Cmdlets For same parameter, switch parameter type will be used in New cmdlet, and boolean parameter type will be used in Set cmdlet. If default value of a parameter is True, the parameter type will be boolean instead of switch in the New cmdlet. SEE ALSO Connect-UnityArray Disconnect-UnityArray |