en-us/PureStoragePowerShellToolkit.psm1-Help.xml

<?xml version="1.0" encoding="utf-8" ?>
<helpItems xmlns="http://msh" schema="maml">
    <!--Generated by: SAPIEN PowerShell HelpWriter 2021 v2.3.52-->
    <!--
        Module: PureStoragePowerShellToolkit
        Version: 2.0.4.0
    -->
    <!--All Commands-->
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-AllHostVolumeInfo</command:name>
            <maml:description>
                <maml:para>Retrieves Host Volume information from FlashArray.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>AllHostVolumeInfo</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves Host Volume information including volumes attributes from a FlashArray.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-AllHostVolumeInfo</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>EndPoint IP or FQDN required</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs Host volume information</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-HostVolumeinfo -EndPoint myarray.mydomain.com</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves Host Volume information from the FlashArray myarray.mydomain.com.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayConfig</command:name>
            <maml:description>
                <maml:para>Retrieves and outputs to a file the configuration of the FlashArray.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayConfig</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will run Purity CLI commands to retrieve the base configuration of a FlashArray and output it to a file. This file is formatted for the CLI, not necessarily human-readable.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayConfig</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para>Required. FQDN or IP address of the FlashArray.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>OutFile</maml:name>
                    <maml:description>
                        <maml:para>Optional. The file path and filename that will contain the output. if not specified, the default is the current folder\Array_Config.txt.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>Array_Config.txt</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ArrayName</maml:name>
                    <maml:description>
                        <maml:para>Optional. The FlashArray name to use in the output. Defaults to $EndPoint.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para>Required. FQDN or IP address of the FlashArray.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>OutFile</maml:name>
                <maml:description>
                    <maml:para>Optional. The file path and filename that will contain the output. if not specified, the default is the current folder\Array_Config.txt.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>Array_Config.txt</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ArrayName</maml:name>
                <maml:description>
                    <maml:para>Optional. The FlashArray name to use in the output. Defaults to $EndPoint.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Configuration file.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArray -EndPoint myArray -ArrayName Array100</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves the configuration for a FlashArray and stores it in the current path as Array100_config.txt.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayConnectDetails</command:name>
            <maml:description>
                <maml:para>Outputs FlashArray connection details.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayConnectDetails</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Output FlashArray connection details including Host and Volume names, LUN ID, IQN / WWN, Volume Provisioned Size, and Host Capacity Written.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayConnectDetails</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Formatted output details from Get-Pfa2Connection</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet does not allow for use of OAUth authentication, only token authentication. Arrays with maximum API versions of 2.0 or 2.1 must use OAuth authentication. This will be added in a later revision.
This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayConnectDetails.ps1 -EndPoint myArray</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayDisconnectedVolumes</command:name>
            <maml:description>
                <maml:para>Retrieves disconnected volume information for a FlashArray.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayDisconnectedVolumes</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve information for volumes that are ina disconnected state for a FlashArray.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayDisconnectedVolumes</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Disconnected volume information is displayed.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayDisconnectedVolumes -EndPoint myArray</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayHierarchy</command:name>
            <maml:description>
                <maml:para>Displays array hierarchy in relation to hosts and/or volumes.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayHierarchy</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will display the hierarchy from a FlashArray of hosts and volumes. The output is to the console in text.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayHierarchy</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>FlashArray host and/or volume hierarchy.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayHierarchy -EndPoint myArray</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayPgroupsConfig</command:name>
            <maml:description>
                <maml:para>Retrieves Protection Group (PGroup) information for the FlashArray.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayPgroupsConfig</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves Protection Group (PGroup) information for the FlashArray.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayPgroupsConfig</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Protection Group information is displayed.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayPgroupsConfig -EndPoint myArrayg</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayQuickCapacityStats</command:name>
            <maml:description>
                <maml:para>Quick way to retrieve FlashArray capacity statistics.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayQuickCapacityStats</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves high level capcity statistics from a FlashArray.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayQuickCapacityStats</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Names</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Names</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>Single or multiple FlashArray IP addresses or FQDNs.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs array capacity information</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>The arrays supplied in the &quot;Names&quot; parameter must use the same credentials for access.
 
This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayQuickCapacityStats -Names &#39;array1, array2&#39;</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves capacity statistic information from FlashArray&#39;s array1 and array2.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayRASession</command:name>
            <maml:description>
                <maml:para>Retrieves Remote Assist status from a FlashArray.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayRASession</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves Remote Assist status from a FlashArray as disabled or enabled in a loop every 30 seconds until stopped.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayRASession</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>EndPoint IP or FQDN required.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs Remote Assst status.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayRASession -EndPoint myarray.mydomain.com</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves the current Remote Assist status and continues check status every 30 seconds until stopped.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArraySerialNumbers</command:name>
            <maml:description>
                <maml:para>Retrieves FlashArray volume serial numbers connected to the host.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArraySerialNumbers</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Cmdlet queries WMI on the localhost to retrieve the disks that are associated to Pure FlashArrays.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArraySerialNumbers</maml:name>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>EndPoint IP or FQDN required.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs serial numbers of FlashArrays devices.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArraySerialNumbers</dev:code>
                <dev:remarks>
                    <maml:para>Returns serial number information on Pure FlashArray disk devices connected to the host.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayStaleSnapshots</command:name>
            <maml:description>
                <maml:para>Retrieves aged snapshots and allows for Deletion and Eradication of such snapshots.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayStaleSnapshots</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve all snapshots that are beyond the specified SnapAgeThreshold. It allows for the parameters of Delete and Eradicate, and if set to $true, it will delete and eradicate the snapshots returned. It allows for the parameter of Confirm, and if set to $true, it will prompt before deletion and/or eradication of the snapshots.
Snapshots must be deleted before they can be eradicated.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayStaleSnapshots</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para>Required. Endpoint is the FlashArray IP or FQDN.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SnapAgeThreshold</maml:name>
                    <maml:description>
                        <maml:para>Required. SnapAgeThreshold is the number of days from the current date. Delete. Confirm, and Eradicate are optional.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Delete</maml:name>
                    <maml:description>
                        <maml:para>Optional. If set to $true, delete the snapshots.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Eradicate</maml:name>
                    <maml:description>
                        <maml:para>Optional. If set to $true, eradicate the deleted snapshots (snapshot must be flagged as deleted).</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Confirm</maml:name>
                    <maml:description>
                        <maml:para>Optional. If set to $true, provide user confirmation for Deletion or Eradication of the snapshots.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para>Required. Endpoint is the FlashArray IP or FQDN.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SnapAgeThreshold</maml:name>
                <maml:description>
                    <maml:para>Required. SnapAgeThreshold is the number of days from the current date. Delete. Confirm, and Eradicate are optional.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Delete</maml:name>
                <maml:description>
                    <maml:para>Optional. If set to $true, delete the snapshots.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Eradicate</maml:name>
                <maml:description>
                    <maml:para>Optional. If set to $true, eradicate the deleted snapshots (snapshot must be flagged as deleted).</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Confirm</maml:name>
                <maml:description>
                    <maml:para>Optional. If set to $true, provide user confirmation for Deletion or Eradication of the snapshots.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Returns a listing of snapshots that are beyond the specified threshold and displays final results.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayStaleSnapshots -EndPoint myArray -SnapAgeThreshold 30</dev:code>
                <dev:remarks>
                    <maml:para>Returns all snapshots that are older than 30 days from the current date.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayStaleSnapshots -EndPoint myArray -SnapAgeThreshold 30 -Delete:$true -Eradicate:$true -Confirm:$false</dev:code>
                <dev:remarks>
                    <maml:para>Returns all snapshots that are older than 30 days from the current date, deletes and eradicates them without confirmation.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-FlashArrayVolumeGrowth</command:name>
            <maml:description>
                <maml:para>Retrieves volume growth information over past X days at X percentage of growth.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>FlashArrayVolumeGrowth</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves volume growth in GB from a FlashArray for volumes that grew in past X amount of days at X percentage of growth.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-FlashArrayVolumeGrowth</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Arrays</maml:name>
                    <maml:description>
                        <maml:para>Required. An IP address or FQDN of the FlashArray(s). Multiple arrys can be specified, seperated by commas. Only use single-quotes or no quotes around the arrays parameter object. Ex. -Arrays array1,array2,array3 --or-- -Arrays &#39;array1,array2,array3&#39;</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>MinimumVolumeAgeInDays</maml:name>
                    <maml:description>
                        <maml:para>Optional. The minimum age in days that a volume must be to report on it. If not specified, defaults to 1 day.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>TimeFrameToCompareWith</maml:name>
                    <maml:description>
                        <maml:para>Required. The timeframe to compare the volume size against. Accepts &#39;1h&#39;, &#39;3h&#39;, &#39;24h&#39;, &#39;7d&#39;, &#39;30d&#39;, &#39;90d&#39;, &#39;1y&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>GrowthPercentThreshold</maml:name>
                    <maml:description>
                        <maml:para>Optional. The minimum percentage of volume growth to report on. Specified as a numerical value from 1-99. If not specified, defaults to &#39;1&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                    <maml:name>DoNotReportGrowthOfLessThan</maml:name>
                    <maml:description>
                        <maml:para>Optional. If growth in size, in Gigabytes, over the specified period is lower than this value, it will not be reported. Specified as a numerical value. If not specified, defaults to &#39;1&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="5">
                    <maml:name>DoNotReportVolSmallerThan</maml:name>
                    <maml:description>
                        <maml:para>Optional. Volumes that are smaller than this size in Gigabytes will not be reported on. Specified as a numerical value + GB. If not specified, defaults to &#39;1GB&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1GB</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>csv</maml:name>
                    <maml:description>
                        <maml:para>Optional. Switch. If present, produces a csv comma-delimited file of the output in the current folder named FlashArrayVolumeGrowthReport.csv.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>html</maml:name>
                    <maml:description>
                        <maml:para>Optional. Switch. If present, produces a HTML of the output in the current folder named FlashArrayVolumeGrowthReport.html.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Arrays</maml:name>
                <maml:description>
                    <maml:para>Required. An IP address or FQDN of the FlashArray(s). Multiple arrys can be specified, seperated by commas. Only use single-quotes or no quotes around the arrays parameter object. Ex. -Arrays array1,array2,array3 --or-- -Arrays &#39;array1,array2,array3&#39;</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>MinimumVolumeAgeInDays</maml:name>
                <maml:description>
                    <maml:para>Optional. The minimum age in days that a volume must be to report on it. If not specified, defaults to 1 day.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>TimeFrameToCompareWith</maml:name>
                <maml:description>
                    <maml:para>Required. The timeframe to compare the volume size against. Accepts &#39;1h&#39;, &#39;3h&#39;, &#39;24h&#39;, &#39;7d&#39;, &#39;30d&#39;, &#39;90d&#39;, &#39;1y&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>GrowthPercentThreshold</maml:name>
                <maml:description>
                    <maml:para>Optional. The minimum percentage of volume growth to report on. Specified as a numerical value from 1-99. If not specified, defaults to &#39;1&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>DoNotReportGrowthOfLessThan</maml:name>
                <maml:description>
                    <maml:para>Optional. If growth in size, in Gigabytes, over the specified period is lower than this value, it will not be reported. Specified as a numerical value. If not specified, defaults to &#39;1&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="5">
                <maml:name>DoNotReportVolSmallerThan</maml:name>
                <maml:description>
                    <maml:para>Optional. Volumes that are smaller than this size in Gigabytes will not be reported on. Specified as a numerical value + GB. If not specified, defaults to &#39;1GB&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>1GB</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>csv</maml:name>
                <maml:description>
                    <maml:para>Optional. Switch. If present, produces a csv comma-delimited file of the output in the current folder named FlashArrayVolumeGrowthReport.csv.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>html</maml:name>
                <maml:description>
                    <maml:para>Optional. Switch. If present, produces a HTML of the output in the current folder named FlashArrayVolumeGrowthReport.html.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>Specified inputs to calculate volumes reported on.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Volume capacity information to the console, and also to a CSV and/or HTML formatted report (if specified).</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>All arrays specified must use the same credential login.
 
This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-FlashArrayVolumeGrowth -Arrays array1,array2 -GrowthPercentThreshold &#39;10&#39; -MinimumVolumeAgeInDays &#39;1&#39; -TimeFrameToCompareWith &#39;7d&#39; -DoNotReportGrowthOfLessThan &#39;1&#39; -DoNotReportVolSmallerThan &#39;1GB&#39; -csv</dev:code>
                <dev:remarks>
                    <maml:para>Retrieve volume capacity report for array 1 and array2 comparing volumes over the last 7 days that:
    - volumes that are not smaller than 1GB in size
    - must have growth of less than 1GB
    - that are at least 1 day old
    - have grown at least 10%
    - output the report to a CSV delimited file</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-HostBusAdapter</command:name>
            <maml:description>
                <maml:para>Retrieves host Bus Adapater (HBA) information.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>HostBusAdapter</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves host Bus Adapater (HBA) information for the host.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-HostBusAdapter</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>ComputerName</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ComputerName</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>Computer name is optional.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Host Bus Adapter information.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-HostBusAdapter -ComputerName myComputer</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-MPIODiskLBPolicy</command:name>
            <maml:description>
                <maml:para>Retrieves the current MPIO Load Balancing policy for Pure FlashArray disk(s).</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>MPIODiskLBPolicy</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve the current MPIO Load Balancing policy for connected Pure FlashArrays disk(s) using the mpclaim.exe utlity.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-MPIODiskLBPolicy</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>DiskId</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>DiskId</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>mpclaim.exe output</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-MPIODiskLBPolicy -DiskID 1</dev:code>
                <dev:remarks>
                    <maml:para>Returns the current MPIO LB policy for disk ID 1.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
        <!--Command-->
        <command:details>
            <command:name>Get-QuickFixEngineering</command:name>
            <maml:description>
                <maml:para>Retrieves all the Windows OS QFE patches applied.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>QuickFixEngineering</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Retrieves all the Windows OS QFE patches applied.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-QuickFixEngineering</maml:name>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs a listing of QFE patches applied.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-QuickFixEngineering</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-VolumeShadowCopy</command:name>
            <maml:description>
                <maml:para>Retrieves the volume shadow copy informaion using the Diskhadow command.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>VolumeShadowCopy</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para></maml:para> </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-VolumeShadowCopy</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>ScriptName</maml:name>
                    <maml:description>
                        <maml:para>Optional. Script text file name created to pass to the Diskshadow command. defaults to &#39;PUREVSS-SNAP&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>PUREVSS-SNAP</dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>MetadataFile</maml:name>
                    <maml:description>
                        <maml:para>Required. Full filename for the metadata .cab file. It must exist in the current working folder.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>ShadowCopyAlias</maml:name>
                    <maml:description>
                        <maml:para>Required. Name of the shadow copy alias.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>ExposeAs</maml:name>
                    <maml:description>
                        <maml:para>Required. Drive letter, share, or mount point to expose the shadow copy.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                    <maml:name>VerboseMode</maml:name>
                    <maml:description>
                        <maml:para>Optional. &quot;On&quot; or &quot;Off&quot;. If set to &#39;off&#39;, verbose mode for the Diskshadow command is disabled. Default is &#39;On&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">On</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">Off</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>On</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ScriptName</maml:name>
                <maml:description>
                    <maml:para>Optional. Script text file name created to pass to the Diskshadow command. defaults to &#39;PUREVSS-SNAP&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>PUREVSS-SNAP</dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>MetadataFile</maml:name>
                <maml:description>
                    <maml:para>Required. Full filename for the metadata .cab file. It must exist in the current working folder.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>ShadowCopyAlias</maml:name>
                <maml:description>
                    <maml:para>Required. Name of the shadow copy alias.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>ExposeAs</maml:name>
                <maml:description>
                    <maml:para>Required. Drive letter, share, or mount point to expose the shadow copy.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>VerboseMode</maml:name>
                <maml:description>
                    <maml:para>Optional. &quot;On&quot; or &quot;Off&quot;. If set to &#39;off&#39;, verbose mode for the Diskshadow command is disabled. Default is &#39;On&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">On</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">Off</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>On</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>See https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/diskshadow for more information on the Diskshadow utility.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-VolumeShadowCopy -MetadataFile myFile.cab -ShadowCopyAlias MyAlias -ExposeAs MyShadowCopy</dev:code>
                <dev:remarks>
                    <maml:para>Exposes the MyAias shadow copy as drive latter G: using the myFie.cab metadata file.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Get-WindowsDiagnosticInfo</command:name>
            <maml:description>
                <maml:para>Gathers Windows operating system, hardware, and software information, including logs for diagnostics. This cmdlet requires Administrative permissions.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Get</command:verb>
            <command:noun>WindowsDiagnosticInfo</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This script will collect detailed information on the Windows operating system, hardware and software components, and collect event logs in .evtx and .csv formats. It will optionally collect WSFC logs and optionally compress all gathered files intoa .zip file for easy distribution.
This script will place all of the files in a parent folder in the root of the C:\ drive that is named after the computer NetBios name($env:computername).
Each section of information gathered will have it&#39;s own child folder in that parent folder.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Get-WindowsDiagnosticInfo</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Cluster</maml:name>
                    <maml:description>
                        <maml:para>Optional. Collect Windows Server Failover Cluster (WSFC) logs.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Compress</maml:name>
                    <maml:description>
                        <maml:para>Optional. Compress the folder that contains all the gathered data into a zip file. The file name will be the computername_diagnostics.zip.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Cluster</maml:name>
                <maml:description>
                    <maml:para>Optional. Collect Windows Server Failover Cluster (WSFC) logs.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Compress</maml:name>
                <maml:description>
                    <maml:para>Optional. Compress the folder that contains all the gathered data into a zip file. The file name will be the computername_diagnostics.zip.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Diagnostic outputs in txt and event log files.
Compressed zip file.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet requires Administrative permissions.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-WindowsDiagnosticInfo.ps1 -Cluster</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves all of the operating system, hardware, software, event log, and WSFC logs into the default folder.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Get-WindowsDiagnosticInfo.ps1 -Compress</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves all of the operating system, hardware, software, event log, and compresses the parent folder into a zip file that will be created in the root of the C: drive.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Invoke-DynamicDataMasking</command:name>
            <maml:description>
                <maml:para>A PowerShell function to apply data masks to database columns using the SQL Server dynamic data masking feature.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Invoke</command:verb>
            <command:noun>DynamicDataMasking</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This function uses the information stored in the extended properties of a database:
sys.extended_properties.name = &#39;DATAMASK&#39; to obtain the dynamic data masking function to apply
at column level. Columns of the following data type are currently supported:
 
- int
- bigint
- char
- nchar
- varchar
- nvarchar
 
Using the c_address column in the tpch customer table as an example, the DATAMASK extended property can be applied
to the column as follows:
 
exec sp_addextendedproperty
     @name = N&#39;DATAMASK&#39;
    ,@value = N&#39;(FUNCTION = &#39;partial(0, &quot;XX&quot;, 20)&#39;&#39;
    ,@level0type = N&#39;Schema&#39;, @level0name = &#39;dbo&#39;
    ,@level1type = N&#39;Table&#39;, @level1name = &#39;customer&#39;
    ,@level2type = N&#39;Column&#39;, @level2name = &#39;c_address&#39;
GO</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Invoke-DynamicDataMasking</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>SqlInstance</maml:name>
                    <maml:description>
                        <maml:para>Required. The SQL Server instance of the database that data masking is to be applied to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>Database</maml:name>
                    <maml:description>
                        <maml:para>Required. The database that data masking is to be applied to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>SqlInstance</maml:name>
                <maml:description>
                    <maml:para>Required. The SQL Server instance of the database that data masking is to be applied to.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Database</maml:name>
                <maml:description>
                    <maml:para>Required. The database that data masking is to be applied to.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>Note that it has dependencies on the dbatools and PureStoragePowerShellSDK modules which are installed as part of this module.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Invoke-DynamicDataMasking -SqlInstance Z-STN-WIN2016-A\DEVOPSDEV -Database tpch-no-compression</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Invoke-FlashArrayDbRefresh</command:name>
            <maml:description>
                <maml:para>A PowerShell function to refresh one or more SQL Server databases (the destination) from either a snapshot or database.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Invoke</command:verb>
            <command:noun>FlashArrayDbRefresh</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>A PowerShell function to refresh one or more SQL Server databases either from:
- a snapshot specified by its name
- a snapshot picked from a list associated with the volume the source database resides on
- a source database directly
 
This function will detect and repair orpaned users in refreshed databases and optionally
apply data masking, based on either:
- the dynamic data masking functionality available in SQL Server version 2016 onwards,
- static data masking built into dbatools from version 0.9.725, refer to https://dbatools.io/mask/</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Invoke-FlashArrayDbRefresh</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>RefreshDatabase</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the database to refresh, note that it is assumed that source and target database(s) are named the same.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>RefreshSource</maml:name>
                    <maml:description>
                        <maml:para>Required. If the RefreshFromSnapshot flag is specified, this parameter takes the name of a snapshot, otherwise this takes the
name of the source SQL Server instance.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>DestSqlInstances</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>Endpoint</maml:name>
                    <maml:description>
                        <maml:para>Required. The IP address representing the FlashArray that the volumes for the source and refresh target databases reside on.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                    <maml:name>PollJobInterval</maml:name>
                    <maml:description>
                        <maml:para>Optional. Interval at which background job status is poll, if this is ommited polling will not take place. Note that this parameter
is not applicable is the PromptForSnapshot switch is specified.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
                <dev:type>
                    <maml:name>Int32</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>0</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>PromptForSnapshot</maml:name>
                    <maml:description>
                        <maml:para>Optional. This is an optional flag that if specified will result in a list of snapshots being displayed for the database volume on
the FlashArray that the user can select one from. Despite the source of the refresh operation being an existing snapshot,
 the source instance still has to be specified by the RefreshSource parameter in order that the function can determine
which FlashArray volume to list existing snapshots for.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RefreshFromSnapshot</maml:name>
                    <maml:description>
                        <maml:para>Optional. This is an optional flag that if specified causes the function to expect the RefreshSource parameter to be supplied with
the name of an existing snapshot.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>NoPsRemoting</maml:name>
                    <maml:description>
                        <maml:para>Optional. The commands that off and online the windows volumes associated with the refresh target databases will use Invoke-Command
with powershell remoting unless this flag is specified. Certain tools that can invoke PowerShell, Ansible for example, do
not permit double-hop authentication unless CredSSP authentication is used. For security purposes Kerberos is recommended
over CredSSP, however this does not support double-hop authentication, in which case this flag should be specified.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ApplyDataMasks</maml:name>
                    <maml:description>
                        <maml:para>Optional. Specifying this optional masks will cause data masks to be applied , as per the dynamic data masking feature first
introduced with SQL Server 2016, this results in this function invoking the Invoke-DynamicDataMasking function to be invoked.
For documentation on Invoke-DynamicDataMasking, use the command Get-Help Invoke-DynamicDataMasking -Detailed.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ForceDestDbOffline</maml:name>
                    <maml:description>
                        <maml:para>Optional. Specifying this switch will cause refresh target databases for be forced offline via WITH ROLLBACK IMMEDIATE.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="5">
                    <maml:name>StaticDataMaskFile</maml:name>
                    <maml:description>
                        <maml:para>Optional. If this parameter is present and has a file path associated with it, the data masking available in version 0.9.725 of the
dbatools module onwards will be applied to the refreshed database. The use of this is contigent on the data mask file
being created and populated in the first place as per this blog post: https://dbatools.io/mask/ .</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>RefreshDatabase</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the database to refresh, note that it is assumed that source and target database(s) are named the same.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>RefreshSource</maml:name>
                <maml:description>
                    <maml:para>Required. If the RefreshFromSnapshot flag is specified, this parameter takes the name of a snapshot, otherwise this takes the
name of the source SQL Server instance.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>DestSqlInstances</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>Endpoint</maml:name>
                <maml:description>
                    <maml:para>Required. The IP address representing the FlashArray that the volumes for the source and refresh target databases reside on.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>PollJobInterval</maml:name>
                <maml:description>
                    <maml:para>Optional. Interval at which background job status is poll, if this is ommited polling will not take place. Note that this parameter
is not applicable is the PromptForSnapshot switch is specified.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
                <dev:type>
                    <maml:name>Int32</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>0</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PromptForSnapshot</maml:name>
                <maml:description>
                    <maml:para>Optional. This is an optional flag that if specified will result in a list of snapshots being displayed for the database volume on
the FlashArray that the user can select one from. Despite the source of the refresh operation being an existing snapshot,
 the source instance still has to be specified by the RefreshSource parameter in order that the function can determine
which FlashArray volume to list existing snapshots for.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>RefreshFromSnapshot</maml:name>
                <maml:description>
                    <maml:para>Optional. This is an optional flag that if specified causes the function to expect the RefreshSource parameter to be supplied with
the name of an existing snapshot.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>NoPsRemoting</maml:name>
                <maml:description>
                    <maml:para>Optional. The commands that off and online the windows volumes associated with the refresh target databases will use Invoke-Command
with powershell remoting unless this flag is specified. Certain tools that can invoke PowerShell, Ansible for example, do
not permit double-hop authentication unless CredSSP authentication is used. For security purposes Kerberos is recommended
over CredSSP, however this does not support double-hop authentication, in which case this flag should be specified.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ApplyDataMasks</maml:name>
                <maml:description>
                    <maml:para>Optional. Specifying this optional masks will cause data masks to be applied , as per the dynamic data masking feature first
introduced with SQL Server 2016, this results in this function invoking the Invoke-DynamicDataMasking function to be invoked.
For documentation on Invoke-DynamicDataMasking, use the command Get-Help Invoke-DynamicDataMasking -Detailed.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ForceDestDbOffline</maml:name>
                <maml:description>
                    <maml:para>Optional. Specifying this switch will cause refresh target databases for be forced offline via WITH ROLLBACK IMMEDIATE.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="5">
                <maml:name>StaticDataMaskFile</maml:name>
                <maml:description>
                    <maml:para>Optional. If this parameter is present and has a file path associated with it, the data masking available in version 0.9.725 of the
dbatools module onwards will be applied to the refreshed database. The use of this is contigent on the data mask file
being created and populated in the first place as per this blog post: https://dbatools.io/mask/ .</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>FlashArray Credentials - A global variable $Creds may be used as described in the release notes for this module. If neither is specified, the module will prompt for credentials.
 
Known Restrictions
------------------
1. This function does not work for databases associated with failover cluster instances.
2. This function cannot be used to seed secondary replicas in availability groups using databases in the primary replica.
3. The function assumes that all database files and the transaction log reside on a single FlashArray volume.
 
Note that it has dependencies on the dbatools and PureStoragePowerShellSDK modules which are installed by this module.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Invoke-FlashArrayDbRefresh -RefreshDatabase tpch-no-compression -RefreshSource z-sql2016-devops-prd -DestSqlInstance z-sql2016-devops-tst -Endpoint 10.225.112.10 `</dev:code>
                <dev:remarks>
                    <maml:para>-PromptForSnapshot
 
Refresh a single database from a snapshot selected from a list of snapshots associated with the volume specified by the RefreshSource parameter.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)</dev:code>
                <dev:remarks>
                    <maml:para>Invoke-FlashArrayDbRefresh -RefreshDatabase tpch-no-compression -RefreshSource z-sql2016-devops-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-PromptForSnapshot
 
Refresh multiple databases from a snapshot selected from a list of snapshots associated with the volume specified by the RefreshSource parameter.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Invoke-FlashArrayDbRefresh -RefreshDatabase tpch-no-compression -RefreshSource source-snap -DestSqlInstance z-sql2016-devops-tst -Endpoint 10.225.112.10 `</dev:code>
                <dev:remarks>
                    <maml:para>-RefreshFromSnapshot
 
Refresh a single database using the snapshot specified by the RefreshSource parameter.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)</dev:code>
                <dev:remarks>
                    <maml:para>Invoke-FlashArrayDbRefresh -RefreshDatabase tpch-no-compression -RefreshSource source-snap -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-RefreshFromSnapshot
 
Refresh multiple databases using the snapshot specified by the RefreshSource parameter.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Invoke-FlashArrayDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance z-sql2016-devops-tst -Endpoint 10.225.112.10</dev:code>
                <dev:remarks>
                    <maml:para>Refresh a single database from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)</dev:code>
                <dev:remarks>
                    <maml:para>Invoke-FlashArrayDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
 
Refresh multiple databases from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 7 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)</dev:code>
                <dev:remarks>
                    <maml:para>Invoke-PfaDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-ApplyDataMasks
 
Refresh multiple databases from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 8 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$StaticDataMaskFile = &quot;D:\apps\datamasks\z-sql-prd.tpch-no-compression.tables.json&quot;</dev:code>
                <dev:remarks>
                    <maml:para>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)
Invoke-FlashArrayDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-StaticDataMaskFile $StaticDataMaskFile
 
Refresh multiple databases from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource and apply SQL Server dynamic data masking to each database.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 9 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$StaticDataMaskFile = &quot;D:\apps\datamasks\z-sql-prd.tpch-no-compression.tables.json&quot;</dev:code>
                <dev:remarks>
                    <maml:para>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)
Invoke-FlashArrayDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-ForceDestDbOffline -StaticDataMaskFile $StaticDataMaskFile
 
Refresh multiple databases from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource and apply SQL Server dynamic data masking to each database.
All databases to be refreshed are forced offline prior to their underlying FlashArray volumes being overwritten.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 10 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$StaticDataMaskFile = &quot;D:\apps\datamasks\z-sql-prd.tpch-no-compression.tables.json&quot;</dev:code>
                <dev:remarks>
                    <maml:para>$Targets = @(&quot;z-sql2016-devops-tst&quot;, &quot;z-sql2016-devops-dev&quot;)
Invoke-FlashArrayDbRefresh -$RefreshDatabase tpch-no-compression -RefreshSource z-sql-prd -DestSqlInstance $Targets -Endpoint 10.225.112.10 `
-PollJobInterval 10 -ForceDestDbOffline -StaticDataMaskFile $StaticDataMaskFile
 
Refresh multiple databases from the database specified by the SourceDatabase parameter residing on the instance specified by RefreshSource and apply SQL Server dynamic data masking to each database.
All databases to be refreshed are forced offline prior to their underlying FlashArray volumes being overwritten. Poll the status of the refresh jobs once every 10 seconds.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Invoke-StaticDataMasking</command:name>
            <maml:description>
                <maml:para>A PowerShell function to statically mask data in char, varchar and/or nvarchar columns using a MD5 hashing function.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Invoke</command:verb>
            <command:noun>StaticDataMasking</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This PowerShell function uses as input a JSON file created by calling the New-DbaDbMaskingConfig PowerShell function.
Data in the columns specified in this file which are of the type char, varchar or nvarchar are envrypted using a MD5
hash.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Invoke-StaticDataMasking</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>SqlInstance</maml:name>
                    <maml:description>
                        <maml:para>Required. The SQL Server instance of the database that static data masking is to be applied to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>Database</maml:name>
                    <maml:description>
                        <maml:para>Required. The database that static data masking is to be applied to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>DataMaskFile</maml:name>
                    <maml:description>
                        <maml:para>Required. Absolute path to the JSON file generated by invoking New-DbaDbMaskingConfig. The file can be subsequently editted by
hand to suit the data masking requirements of this function&#39;s user. Currently, static data masking is only supported for columns with char, varchar, nvarchar, int and bigint data types.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>SqlInstance</maml:name>
                <maml:description>
                    <maml:para>Required. The SQL Server instance of the database that static data masking is to be applied to.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>Database</maml:name>
                <maml:description>
                    <maml:para>Required. The database that static data masking is to be applied to.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>DataMaskFile</maml:name>
                <maml:description>
                    <maml:para>Required. Absolute path to the JSON file generated by invoking New-DbaDbMaskingConfig. The file can be subsequently editted by
hand to suit the data masking requirements of this function&#39;s user. Currently, static data masking is only supported for columns with char, varchar, nvarchar, int and bigint data types.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>Note that it has dependencies on the dbatools module which are installed with this module.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Invoke-StaticDataMasking -SqlInstance Z-STN-WIN2016-A\DEVOPSDEV -Database tpch-no-compression -DataMaskFile &#39;C:\Users\devops\Documents\tpch-no-compression.tables.json&#39;</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-FlashArrayCapacityReport</command:name>
            <maml:description>
                <maml:para>Create a formatted report that contains FlashArray Capacity Information</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>FlashArrayCapacityReport</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve volume and snapshot capacity information from the FlashArray and output it to a formatted report.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-FlashArrayCapacityReport</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para>Required. FQDN or IP address of FlashArray.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>OutFile</maml:name>
                    <maml:description>
                        <maml:para>Optional. Full folder path for output report. Default is the current %TEMP% folder.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp&quot;</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>HTMLFileName</maml:name>
                    <maml:description>
                        <maml:para>Optional. File name of output report. Default is Array_Capacity_Report.html.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>Array_Capacity_Report.html</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>VolumeFilter</maml:name>
                    <maml:description>
                        <maml:para>Optional. Specific volumes to filter output on. Wildcards are accepted. By default, this is &quot;*&quot; (all).</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>*</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para>Required. FQDN or IP address of FlashArray.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>OutFile</maml:name>
                <maml:description>
                    <maml:para>Optional. Full folder path for output report. Default is the current %TEMP% folder.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp&quot;</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>HTMLFileName</maml:name>
                <maml:description>
                    <maml:para>Optional. File name of output report. Default is Array_Capacity_Report.html.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>Array_Capacity_Report.html</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>VolumeFilter</maml:name>
                <maml:description>
                    <maml:para>Optional. Specific volumes to filter output on. Wildcards are accepted. By default, this is &quot;*&quot; (all).</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>*</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Formatted HTML report containing retrieved data and specified options.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-FlashArrayCapacityReport -EndPoint myArray</dev:code>
                <dev:remarks>
                    <maml:para>Creates a capacity report named myArray_Capacity_Report.html in the current folder.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-FlashArrayCapacityReport -EndPoint myArray -OutFile C:\temp -HTMLFileName MyArrayReport.html -VolumeFilter &#39;Volume1*&#39;.</dev:code>
                <dev:remarks>
                    <maml:para>Creates a capacity report c:\temp\myArrayReport.html that includes volumes that contain the name &#39;Volume1*&#39;.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-FlashArrayDbSnapshot</command:name>
            <maml:description>
                <maml:para>A PowerShell function to create a FlashArray snapshot of the volume that a database resides on.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>FlashArrayDbSnapshot</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>A PowerShell function to create a FlashArray snapshot of the volume that a database resides on, based in the
values of the following parameters:</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-FlashArrayDbSnapshot</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Database</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the database to refresh, note that it is assumed that source and target database(s) are named the same.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>SqlInstance</maml:name>
                    <maml:description>
                        <maml:para>Required. This can be one or multiple SQL Server instance(s) that host the database(s) to be refreshed, in the case that the
function is invoked to refresh databases across more than one instance, the list of target instances should be
spedcified as an array of strings, otherwise a single string representing the target instance will suffice.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>Endpoint</maml:name>
                    <maml:description>
                        <maml:para>Required. The IP address representing the FlashArray that the volumes for the source and refresh target databases reside on.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Database</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the database to refresh, note that it is assumed that source and target database(s) are named the same.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>SqlInstance</maml:name>
                <maml:description>
                    <maml:para>Required. This can be one or multiple SQL Server instance(s) that host the database(s) to be refreshed, in the case that the
function is invoked to refresh databases across more than one instance, the list of target instances should be
spedcified as an array of strings, otherwise a single string representing the target instance will suffice.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>Endpoint</maml:name>
                <maml:description>
                    <maml:para>Required. The IP address representing the FlashArray that the volumes for the source and refresh target databases reside on.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>FlashArray Credentials - A global variable $Creds may be used as described in the release notes for this module. If neither is specified, the module will prompt for credentials.
 
Known Restrictions
------------------
1. This function does not work for databases associated with failover cluster instances.
2. This function cannot be used to seed secondary replicas in availability groups using databases in the primary replica.
3. The function assumes that all database files and the transaction log reside on a single FlashArray volume.
 
Note that it has dependencies on the dbatools and PureStoragePowerShellSDK modules which are installed as part of this module.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-FlashArrayDbSnapshot -Database tpch-no-compression -SqlInstance z-sql2016-devops-prd -Endpoint 10.225.112.10 -Creds $Creds</dev:code>
                <dev:remarks>
                    <maml:para>Create a snapshot of FlashArray volume that stores the tpch-no-compression database on the z-sql2016-devops-prd instance</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-FlashArrayExcelReport</command:name>
            <maml:description>
                <maml:para>Create an Excel workbook that contains FlashArray Information for each array specified in a file.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>FlashArrayExcelReport</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve array, volume, host, pod, and snapshot capacity information from all of the FlashArrays listed in the txt file and output it to an Excel spreadsheet. Each arrays will have it&#39;s own filename and the current date and time will be added to the filenames.
This cmdlet requires the PowerShell module ImportExcel - https://www.powershellgallery.com/packages/ImportExcel</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-FlashArrayExcelReport</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Arraylist</maml:name>
                    <maml:description>
                        <maml:para>Required. Full path to file name that contains IP addresses or FQDN&#39;s for all FlashAarays being reported on. This is a plain text file with each array on a new line.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>OutPath</maml:name>
                    <maml:description>
                        <maml:para>Optional. Full directory path (with no trailing &quot;\&quot;) for Excel workbook, formatted as DRIVE_LETTER:\folder_name. If not specified, the files will be placed in the %temp% folder.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp&quot;</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>snapLimit</maml:name>
                    <maml:description>
                        <maml:para>Optional. This will limit the total number of Volume snapshots returned from the arrays. This will be beneficial when working with a large number of snapshots. With a large number of snapshots, and not setting this limit, the worksheet creation time is increased considerably.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>Username</maml:name>
                    <maml:description>
                        <maml:para>Optional. Required if $Creds variable is not used.
Full username to login to the arrays. This currently must be the same username for all arrays. This user must have the array-admin role.
If not supplied, the $Creds variable must exist in the session and be set by Get-Credential.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                    <maml:name>PassFilePath</maml:name>
                    <maml:description>
                        <maml:para>Optional. Required if $Creds variable is not used.
Full path and filename that contains the plaintext password for the $username. The password will be encrypted when passing to the array.
If not supplied, the $Creds variable must exist in the session and be set by Get-Credential.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Arraylist</maml:name>
                <maml:description>
                    <maml:para>Required. Full path to file name that contains IP addresses or FQDN&#39;s for all FlashAarays being reported on. This is a plain text file with each array on a new line.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>OutPath</maml:name>
                <maml:description>
                    <maml:para>Optional. Full directory path (with no trailing &quot;\&quot;) for Excel workbook, formatted as DRIVE_LETTER:\folder_name. If not specified, the files will be placed in the %temp% folder.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp&quot;</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>snapLimit</maml:name>
                <maml:description>
                    <maml:para>Optional. This will limit the total number of Volume snapshots returned from the arrays. This will be beneficial when working with a large number of snapshots. With a large number of snapshots, and not setting this limit, the worksheet creation time is increased considerably.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>Username</maml:name>
                <maml:description>
                    <maml:para>Optional. Required if $Creds variable is not used.
Full username to login to the arrays. This currently must be the same username for all arrays. This user must have the array-admin role.
If not supplied, the $Creds variable must exist in the session and be set by Get-Credential.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>PassFilePath</maml:name>
                <maml:description>
                    <maml:para>Optional. Required if $Creds variable is not used.
Full path and filename that contains the plaintext password for the $username. The password will be encrypted when passing to the array.
If not supplied, the $Creds variable must exist in the session and be set by Get-Credential.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>An Excel workbook</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.
This cmdlet requires the PowerShell module ImportExcel.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-FlashArrayExcelReport -Username &quot;pureuser&quot; -PassFilePath &quot;c:\temp\creds.txt&quot; -ArrayList &quot;c:\temp\arrays.txt&quot;</dev:code>
                <dev:remarks>
                    <maml:para>Creates an Excel file in the the %temp% folder for each array in the Arrays.txt file, using the username and plaintext password file supplied.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>$Creds = (Get-Credential)</dev:code>
                <dev:remarks>
                    <maml:para>New-FlashArrayExcelReport -ArrayList &quot;c:\temp\arrays.txt&quot; -snapLimit 25 -OutPath &quot;c:\outputs&quot;
 
Creates an Excel file for each array in the Arrays.txt file, using the credentials preconfigured via the Get-Credentials cmdlet supplied.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-FlashArrayPGroupVolumes</command:name>
            <maml:description>
                <maml:para>Creates volumes to a new FlashArray Protection Group (PGroup).</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>FlashArrayPGroupVolumes</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will allow for the creation of multiple volumes and adding the created volumes to a new Protection Group (PGroup). The new volume names will default to &quot;$PGroupPrefix-vol1&quot;, &quot;PGroupPrefix-vol2&quot; etc.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-FlashArrayPGroupVolumes</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>PGroupPrefix</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the Protection Group prefix to add volumes to. This parameter specifies the prefix of the PGroup name. The suffix defaults to &quot;-PGroup&quot;. Example: -PGroupPrefix &quot;database&quot;. The full PGroup name will be &quot;database-PGroup&quot;.
This PGroup will be created as new and must not already exist on the array.
This prefix will also be used to uniquely name the volumes as they are created.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>VolumeSizeGB</maml:name>
                    <maml:description>
                        <maml:para>Required. The size of the new volumes in Gigabytes (GB).</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>NumberOfVolumes</maml:name>
                    <maml:description>
                        <maml:para>Required. The number of volumes that are to be created. Each volume will be named &quot;vol&quot; with an ascending number following (ie. vol1, vol2, etc.). Each volume name will also contain the $PGroupPrefix variable as the name prefix.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>PGroupPrefix</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the Protection Group prefix to add volumes to. This parameter specifies the prefix of the PGroup name. The suffix defaults to &quot;-PGroup&quot;. Example: -PGroupPrefix &quot;database&quot;. The full PGroup name will be &quot;database-PGroup&quot;.
This PGroup will be created as new and must not already exist on the array.
This prefix will also be used to uniquely name the volumes as they are created.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>VolumeSizeGB</maml:name>
                <maml:description>
                    <maml:para>Required. The size of the new volumes in Gigabytes (GB).</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>NumberOfVolumes</maml:name>
                <maml:description>
                    <maml:para>Required. The number of volumes that are to be created. Each volume will be named &quot;vol&quot; with an ascending number following (ie. vol1, vol2, etc.). Each volume name will also contain the $PGroupPrefix variable as the name prefix.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-FlashArrayPGroupVolumes -PGroupPrefix &quot;database&quot; -VolumeSizeGB &quot;200&quot; -NumberOfVolumes &quot;3&quot;</dev:code>
                <dev:remarks>
                    <maml:para>Creates 3-200GB volumes, named &quot;database-vol1&quot;, &quot;database-vol2&quot;, and &quot;database-vol3&quot;. Each volume is added to the new Protection Group &quot;database-PGroup&quot;.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-HypervClusterVolumeReport</command:name>
            <maml:description>
                <maml:para>Creates a Excel report on volumes connected to a Hyper-V cluster.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>HypervClusterVolumeReport</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This creates separate CSV files for VM, Windows Hosts, and FlashArray information that is part of a HyperV cluster. It then takes that output and places it into a an Excel workbook that contains sheets for each CSV file.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-HypervClusterVolumeReport</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>VmCsvFileName</maml:name>
                    <maml:description>
                        <maml:para>Optional. Defaults to VMs.csv.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>VMs.csv</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>WinCsvFileName</maml:name>
                    <maml:description>
                        <maml:para>Optional. defaults to WindowsHosts.csv.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>WindowsHosts.csv</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>PfaCsvFileName</maml:name>
                    <maml:description>
                        <maml:para>Optional. defaults to FlashArrays.csv.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>FlashArrays.csv</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ExcelFile</maml:name>
                    <maml:description>
                        <maml:para>Optional. defaults to HypervClusterReport.xlsx.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>HypervClusterReport.xlxs</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>VmCsvFileName</maml:name>
                <maml:description>
                    <maml:para>Optional. Defaults to VMs.csv.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>VMs.csv</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>WinCsvFileName</maml:name>
                <maml:description>
                    <maml:para>Optional. defaults to WindowsHosts.csv.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>WindowsHosts.csv</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PfaCsvFileName</maml:name>
                <maml:description>
                    <maml:para>Optional. defaults to FlashArrays.csv.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>FlashArrays.csv</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ExcelFile</maml:name>
                <maml:description>
                    <maml:para>Optional. defaults to HypervClusterReport.xlsx.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>HypervClusterReport.xlxs</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>Endpoint is mandatory. VM, Win, and PFA csv file names are optional.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Outputs individual CSV files and creates an Excel workbook that is built using the required PowerShell module ImportExcel, created by Douglas Finke.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-HypervClusterVolumeReport -EndPoint myarray -VmCsvName myVMs.csv -WinCsvName myWinHosts.csv -PfaCsvName myFlashArray.csv -ExcelFile myExcelFile</dev:code>
                <dev:remarks>
                    <maml:para>This will create three separate CSV files with HyperV cluster information and incorporate them into a single Excel workbook.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>New-VolumeShadowCopy</command:name>
            <maml:description>
                <maml:para>Creates a new volume shadow copy using Diskshadow.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>New</command:verb>
            <command:noun>VolumeShadowCopy</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will create a new volume shadow copy using the Diskshadow command, passing the variables specified.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>New-VolumeShadowCopy</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Volume</maml:name>
                    <maml:description>
                        <maml:para>Required.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>ScriptName</maml:name>
                    <maml:description>
                        <maml:para>Optional. Script text file name created to pass to the Diskshadow command. Pre-defined as &#39;PUREVSS-SNAP&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>PUREVSS-SNAP</dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>ShadowCopyAlias</maml:name>
                    <maml:description>
                        <maml:para>Required. Name of the shadow copy alias.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>VerboseMode</maml:name>
                    <maml:description>
                        <maml:para>Optional. &quot;On&quot; or &quot;Off&quot;. If set to &#39;off&#39;, verbose mode for the Diskshadow command is disabled. Default is &#39;on&#39;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">On</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">Off</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>On</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Volume</maml:name>
                <maml:description>
                    <maml:para>Required.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
                <dev:type>
                    <maml:name>String[]</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>ScriptName</maml:name>
                <maml:description>
                    <maml:para>Optional. Script text file name created to pass to the Diskshadow command. Pre-defined as &#39;PUREVSS-SNAP&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>PUREVSS-SNAP</dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>ShadowCopyAlias</maml:name>
                <maml:description>
                    <maml:para>Required. Name of the shadow copy alias.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>VerboseMode</maml:name>
                <maml:description>
                    <maml:para>Optional. &quot;On&quot; or &quot;Off&quot;. If set to &#39;off&#39;, verbose mode for the Diskshadow command is disabled. Default is &#39;on&#39;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">On</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">Off</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>On</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>See https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/diskshadow for more information on the Diskshadow utility.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>New-VolumeShadowCopy -Volume Volume01 -ShadowCopyAlias MyAlias</dev:code>
                <dev:remarks>
                    <maml:para>Adds a new volume shadow copy of Volume01 using Diskshadow with an alias of &#39;MyAlias&#39;.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Register-HostVolumes</command:name>
            <maml:description>
                <maml:para>Sets Pure FlashArray connected disks to online.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Register</command:verb>
            <command:noun>HostVolumes</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will set any FlashArray volumes (disks) to online in Windows using the diskpart command.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Register-HostVolumes</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>ComputerName</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ComputerName</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Register-HostVolumes -ComputerName myComputer</dev:code>
                <dev:remarks>
                    <maml:para>Sets all FlashArray disks for myComputer to online.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Remove-FlashArrayPendingDeletes</command:name>
            <maml:description>
                <maml:para>Reports on pending FlashArray Volume and Snapshots deletions and optionally Eradicates them.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Remove</command:verb>
            <command:noun>FlashArrayPendingDeletes</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will return information on any volumes or volume snapshots that are pending eradication after deletion and optionally prompt for eradication of those objects. The user will be prompted for confirmation.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Remove-FlashArrayPendingDeletes</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>EndPoint</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>EndPoint</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Volume and volume snapshots awaiting eradication.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Remove-FlashArrayPendingDelete -EndPoint myArray</dev:code>
                <dev:remarks>
                    <maml:para></maml:para> </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Restore-PfaPGroupVolumeSnapshots</command:name>
            <maml:description>
                <maml:para>Recover all of the volumes from a protection group (PGroup) snapshot.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Restore</command:verb>
            <command:noun>PfaPGroupVolumeSnapshots</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will recover all of the volumes from a protection group (PGroup) snapshot in one operation.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Restore-PfaPGroupVolumeSnapshots</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Array</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>ProtectionGroup</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the Protection Group.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>SnapshotName</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the snapshot.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                    <maml:name>PGroupPrefix</maml:name>
                    <maml:description>
                        <maml:para>Required. The name of the Protection Group prefix.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                    <maml:name>Hostname</maml:name>
                    <maml:description>
                        <maml:para>Optional. The hostname to attach the snapshots to.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Array</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>ProtectionGroup</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the Protection Group.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>SnapshotName</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the snapshot.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="3">
                <maml:name>PGroupPrefix</maml:name>
                <maml:description>
                    <maml:para>Required. The name of the Protection Group prefix.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="4">
                <maml:name>Hostname</maml:name>
                <maml:description>
                    <maml:para>Optional. The hostname to attach the snapshots to.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet can utilize the global $Creds variable for FlashArray authentication. Set the variable $Creds by using the command $Creds = Get-Credential.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Restore-PfaPGroupVolumeSnapshots &#226;€“Array $array &#226;€“ProtectionGroup &quot;VOL1-PGroup&quot; &#226;€“SnapshotName &quot;VOL1-PGroup.001&quot; &#226;€“Prefix TEST -Hostname HOST1</dev:code>
                <dev:remarks>
                    <maml:para>Restores protection group snapshots named &quot;VOL1-PGroup.001&quot; from PGroup &quot;VOL1-PGroup&quot;, adds the prefix of &quot;TEST&quot; to the name, and attaches them to the host &quot;HOST1&quot; on array $array.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Set-MPIODiskLBPolicy</command:name>
            <maml:description>
                <maml:para>Sets the MPIO Load Balancing policy for FlashArray disks.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Set</command:verb>
            <command:noun>MPIODiskLBPolicy</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will set the MPIO Load Balancing policy for all connected Pure FlashArrays disks to the desired setting using the mpclaim.exe utlity.
The default Windows OS setting is RR.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Set-MPIODiskLBPolicy</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Policy</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">LQD</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">RR</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">clear</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">FO</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">RRWS</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">WP</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">LB</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Policy</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">LQD</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">RR</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">clear</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">FO</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">RRWS</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">WP</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">LB</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Set-MPIODiskLBPolicy -Policy LQD</dev:code>
                <dev:remarks>
                    <maml:para>Sets the MPIO load balancing policy for all Pure disks to Least Queue Depth.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Set-MPIODiskLBPolicy -Policy clear</dev:code>
                <dev:remarks>
                    <maml:para>Clears the current MPIO policy for all Pure disks and sets to the default of RR.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Set-TlsVersions</command:name>
            <maml:description>
                <maml:para>Sets the TLS Version in the local registry.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Set</command:verb>
            <command:noun>TlsVersions</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet disables TLS version 1.0 and enables TLS Versions 1.1, 1.2, and 1.3 in the local registry. It will prompt for creating a backup of the registry before execution for recovery purposes.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Set-TlsVersions</maml:name>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Backup of the registry before the changes are implemented.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Set-TlsVersions</dev:code>
                <dev:remarks>
                    <maml:para>Prompts for creation of a registry backup, disables TLS version 1.0, and enables TLS versions 1.1, 1.2, and 1.3.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Set-WindowsPowerScheme</command:name>
            <maml:description>
                <maml:para>Cmdlet to set the Power scheme for the Windows OS to High Performance.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Set</command:verb>
            <command:noun>WindowsPowerScheme</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Cmdlet to set the Power scheme for the Windows OS to High Performance.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Set-WindowsPowerScheme</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>ComputerName</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>ComputerName</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Current power scheme and optional confirmation to alter the setting in the Windows registry.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Set-WindowsPowerScheme</dev:code>
                <dev:remarks>
                    <maml:para>Retrieves the current Power Scheme setting, and if not set to High Performance, asks for confirmation to set it.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Sync-FlashArrayHosts</command:name>
            <maml:description>
                <maml:para>Synchronizes the hosts amd host protocols between two FlashArrays.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Sync</command:verb>
            <command:noun>FlashArrayHosts</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve the current hosts from the Source array and create them on the target array. It will also add the FC (WWN) or iSCSI (iqn) settings for each host on the Target array.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Sync-FlashArrayHosts</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>SourceArray</maml:name>
                    <maml:description>
                        <maml:para>Required. FQDN or IP address of the source FlashArray.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>TargetArray</maml:name>
                    <maml:description>
                        <maml:para>Required. FQDN or IP address of the source FlashArray.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Protocol</maml:name>
                    <maml:description>
                        <maml:para>Required. &#39;FC&#39; for Fibre Channel WWNs or &#39;iSCSI&#39; for iSCSI IQNs.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">iSCSI</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">FC</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>SourceArray</maml:name>
                <maml:description>
                    <maml:para>Required. FQDN or IP address of the source FlashArray.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>TargetArray</maml:name>
                <maml:description>
                    <maml:para>Required. FQDN or IP address of the source FlashArray.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>Protocol</maml:name>
                <maml:description>
                    <maml:para>Required. &#39;FC&#39; for Fibre Channel WWNs or &#39;iSCSI&#39; for iSCSI IQNs.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <command:parameterValueGroup>
                    <command:parameterValue required="false" variableLength="false">iSCSI</command:parameterValue>
                    <command:parameterValue required="false" variableLength="false">FC</command:parameterValue>
                </command:parameterValueGroup>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <maml:alertSet>
            <!--Notes-->
            <maml:title></maml:title>
            <maml:alert>
                <maml:para>This cmdlet cannot utilize the global $Creds variable as it requires two logins to two separate arrays.</maml:para>
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Sync-FlashArraysHosts -SourceArray mySourceArray -TargetArray myTargetArray -Protocol FC</dev:code>
                <dev:remarks>
                    <maml:para>Synchronizes the hosts and hosts FC WWNs from the mySourceArray to the myTargetArray.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Test-WindowsBestPractices</command:name>
            <maml:description>
                <maml:para>Cmdlet used to retrieve hosts information, test and optionally configure MPIO (FC) and/or iSCSI settings in a Windows OS against FlashArray Best Practices.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Test</command:verb>
            <command:noun>WindowsBestPractices</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will retrieve the curretn host infromation, and iterate through several tests around MPIO (FC) and iSCSI OS settings and hardware, indicate whether they are adhearing to Pure Storage FlashArray Best Practices, and offer to alter the settings if applicable.
All tests can be bypassed with a negative user response when prompted, or simply by using Ctrl-C to break the process.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Test-WindowsBestPractices</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>OutFile</maml:name>
                    <maml:description>
                        <maml:para>Optional. Specify the full filepath (ex. c:\mylog.log) for logging. If not specified, the default file of %TMP%\Test-WindowsBestPractices.log will be used.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp\Test-WindowsBestPractices.log&quot;</dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>EnableIscsiTests</maml:name>
                    <maml:description>
                        <maml:para>Optional. If this parameter is present, the cmdlet will run tests for iSCSI settings.</maml:para>
                    </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>OutFile</maml:name>
                <maml:description>
                    <maml:para>Optional. Specify the full filepath (ex. c:\mylog.log) for logging. If not specified, the default file of %TMP%\Test-WindowsBestPractices.log will be used.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>&quot;$env:Temp\Test-WindowsBestPractices.log&quot;</dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>EnableIscsiTests</maml:name>
                <maml:description>
                    <maml:para>Optional. If this parameter is present, the cmdlet will run tests for iSCSI settings.</maml:para>
                </maml:description>
                    <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
                <dev:type>
                    <maml:name>SwitchParameter</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>False</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>Optional parameter for iSCSI testing.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>Output status and best practice options for every test.</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Test-WindowsBestPractices</dev:code>
                <dev:remarks>
                    <maml:para>Run the cmdlet against the local machine running the MPIO tests and the log is located in the %TMP%\Test-WindowsBestPractices.log file.</maml:para>
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Test-WindowsZBestPractices -EnableIscsiTests -OutFile &quot;c:\temp\mylog.log&quot;</dev:code>
                <dev:remarks>
                    <maml:para>Run the cmdlet against the local machine, run the additional iSCSI tests, and create the log file at c:\temp\mylog.log.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Unregister-HostVolumes</command:name>
            <maml:description>
                <maml:para>Sets Pure FlashArray connected disks to offline.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Unregister</command:verb>
            <command:noun>HostVolumes</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>This cmdlet will set any FlashArray volumes (disks) to offline in Windows using the diskpart command.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Unregister-HostVolumes</maml:name>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>Computername</maml:name>
                    <maml:description>
                        <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>Computername</maml:name>
                <maml:description>
                    <maml:para></maml:para> </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Unregister-HostVolumes -ComputerName myComputer</dev:code>
                <dev:remarks>
                    <maml:para>Offlines all FlashArray disks from myComputer.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
            <!--TAG: HASCOMMONPARAMETERS-->
        <!--Command-->
        <command:details>
            <command:name>Update-DriveInformation</command:name>
            <maml:description>
                <maml:para>Updates drive letters and assigns a label.</maml:para>
            </maml:description>
            <maml:copyright>
                <maml:para></maml:para> </maml:copyright>
            <command:verb>Update</command:verb>
            <command:noun>DriveInformation</command:noun>
            <dev:version/>
        </command:details>
        <maml:description>
            <maml:para>Thsi cmdlet will update the current drive letter to the new drive letter, and assign a new drive label if specified.</maml:para>
        </maml:description>
        <command:syntax>
            <!--Parameter Sets-->
            <command:syntaxItem parametersetname="__AllParameterSets">
            <!--NAME: __AllParameterSets-->
                <maml:name>Update-DriveInformation</maml:name>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                    <maml:name>NewDriveLetter</maml:name>
                    <maml:description>
                        <maml:para>Required. Drive lettwre without the colon.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                    <maml:name>CurrentDriveLetter</maml:name>
                    <maml:description>
                        <maml:para>Required. Drive lettwre without the colon.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
                </command:parameter>
                <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                    <maml:name>NewDriveLabel</maml:name>
                    <maml:description>
                        <maml:para>Optional. Drive label text. Defaults to &quot;NewDrive&quot;.</maml:para>
                    </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>NewDrive</dev:defaultValue>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <!--All Parameters-->
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="0">
                <maml:name>NewDriveLetter</maml:name>
                <maml:description>
                    <maml:para>Required. Drive lettwre without the colon.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="1">
                <maml:name>CurrentDriveLetter</maml:name>
                <maml:description>
                    <maml:para>Required. Drive lettwre without the colon.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue></dev:defaultValue>
            </command:parameter>
            <command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="2">
                <maml:name>NewDriveLabel</maml:name>
                <maml:description>
                    <maml:para>Optional. Drive label text. Defaults to &quot;NewDrive&quot;.</maml:para>
                </maml:description>
                    <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
                <dev:type>
                    <maml:name>String</maml:name>
                    <maml:uri/>
                </dev:type>
                <dev:defaultValue>NewDrive</dev:defaultValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes>
            <!--Inputs-->
            <command:inputType>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:inputType>
        </command:inputTypes>
        <command:returnValues>
            <!--Outputs-->
            <command:returnValue>
                <dev:type>
                    <maml:name>None</maml:name>
                    <maml:uri></maml:uri>
                </dev:type>
                <maml:description>
                    <maml:para></maml:para>
                </maml:description>
            </command:returnValue>
        </command:returnValues>
        <command:examples>
            <!--Examples-->
            <command:example>
                <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
                <maml:introduction>
                    <maml:para>PS C:\&gt;</maml:para>
                </maml:introduction>
                <dev:code>Update-DriveInformation -NewDriveLetter S -CurrentDriveLetter M</dev:code>
                <dev:remarks>
                    <maml:para>Updates the drive letter from M: to S: and labels S: to NewDrive.</maml:para>
                </dev:remarks>
            </command:example>
        </command:examples>
    </command:command>
    <!--Generated by: SAPIEN PowerShell HelpWriter 2021 v2.3.52-->
</helpItems>