Chapter 1. New and Changed Information for this Release

- New and Changed Information for this Release

New and Changed Information for this Release

The following table provides an overview of the significant changes to this guide for this current release. The table does not provide an exhaustive list of all changes made to this guide or of all new features in this release.

New Features and Changed Behavior in Cisco HX Data Platform, Release 4.0(2a)

Feature

Description

Where Documented

New-HXRunbook Cmdlet

Introduced the following new parameters:

- [-TestVmPrefix <String>]

- [-ProtectionGroup <PSObject[]>]

New-HXRunbook Cmdlet

Wait-HXTask Cmdlet

Waits for the completion of the specified tasks.

Wait-HXTask Cmdlet

Get-HXTaskStatus Cmdlet

Gets the task status of a HyperFlex cluster.

Get-HXTaskStatus Cmdlet

New Features and Changed Behavior in Cisco HX Data Platform, Release 4.0

Feature

Description

Where Documented

New-HXRunbook Cmdlet

Generates runbook for various recovery scenarios: Test Recovery, Planned Migration, and Disaster Recovery.

New-HXRunbook Cmdlet

Get-HXJsonConfig Cmdlet

Customizes the JSON file of runbook through PowerShell.

Get-HXJsonConfig Cmdlet

Chapter 2. Overview

- Introduction

- About Cisco PowerShell PowerHXCLI

Introduction

This guide lists and describes how to use the Cisco PowerShell Cisco HXPowerCLI cmdlets for Data Protection.

About Cisco PowerShell PowerHXCLI

Cisco PowerShell Cisco HXPowerCLI integrates Cisco HyperFlex storage clusters with Windows PowerShell. The Cisco HXPowerCLI cmdlets are thin wrappers on top of APIs that facilitate in providing an optimal experience for administrators. Cisco HXPowerCLI has a set of cmdlets for Windows PowerShell which enables task automation and serves as a Command Line Interface (CLI) for the high-level API. The Cisco HXPowerCLI cmdlets can be used to perform various tasks that are related to data protection.

Chapter 3. Installation

- Installing Cisco HXPowerCLI

Installing Cisco HXPowerCLI

For the latest version of Cisco HXPowerCLI, see https://www.powershellgallery.com/packages/Cisco.HXPowerCLI/.

Procedure

Copy and Paste the following command to install the Cisco HXPowerCLI package using PowerShellGet.

PS> Install-Module -Name Cisco.HXPowerCLI

For more information, see https://docs.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershell-6.

Chapter 4. Post Installation

- Verifying Installation

- Viewing Available cmdlets

- Getting Help

- Viewing Examples

Verifying Installation

To verify the installation of the Cisco HX Connect PowerShell Tool Kit (PSTK), enter the following cmdlet:

get-module -name Cisco.HXPowerCLI

Sample Output:
ModuleType    Version      Name              ExportedCommands
------------   ---------    ---------------   ---------------------------
Binary        1.0          Cisco.Runbook     {Add-HXProtectedVMToGroup,
Connect-HXCluster,
Disconnect-HXCluster,
Get-HXCluster...}

Viewing Available cmdlets

To view a list of all available Cisco HXPowerCLI cmdlets run the command:

Get-Command -Module Cisco.HXPowerCLI

Sample Output:
CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Cmdlet          Add-HXProtectedVMToGroup              5.0.0.3    Cisco.Runbook
Cmdlet          Connect-HXCluster                     5.0.0.3    Cisco.Runbook
Cmdlet          Disconnect-HXCluster                  5.0.0.3    Cisco.Runbook
Cmdlet          Get-HXCluster                         5.0.0.3    Cisco.Runbook
Cmdlet          Get-HXTaskStatus                      5.0.0.3    Cisco.Runbook
Cmdlet          Get-HXProtectedVM                     5.0.0.3    Cisco.Runbook
Cmdlet          Get-HXProtectionGroup                 5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXFailover                     5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXPrepareFailover              5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXPrepareGroupRecovery         5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXPrepareReverseProtect        5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXReverseProtect               5.0.0.3    Cisco.Runbook
Cmdlet          Invoke-HXTestFailover                 5.0.0.3    Cisco.Runbook
Cmdlet          New-HXProtectionGroup                 5.0.0.3    Cisco.Runbook
Cmdlet          Protect-HXVM                          5.0.0.3    Cisco.Runbook
Cmdlet          Remove-HXProtectedVMFromGroup         5.0.0.3    Cisco.Runbook
Cmdlet          Remove-HXProtectionGroup              5.0.0.3    Cisco.Runbook
Cmdlet          Unprotect-HXVM                        5.0.0.3    Cisco.Runbook

Sample Output:
CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Cmdlet          Add-HXProtectedVMToGroup              1.0        Cisco.Runbook
Cmdlet          Connect-HXCluster                     1.0        Cisco.Runbook
Cmdlet          Disconnect-HXCluster                  1.0        Cisco.Runbook
Cmdlet          Get-HXCluster                         1.0        Cisco.Runbook
Cmdlet          Get-HXJobStatus                       1.0        Cisco.Runbook
Cmdlet          Get-HXProtectedVM                     1.0        Cisco.Runbook
Cmdlet          Get-HXProtectionGroup                 1.0        Cisco.Runbook
Cmdlet          Invoke-HXFailover                     1.0        Cisco.Runbook
Cmdlet          Invoke-HXPrepareFailover              1.0        Cisco.Runbook
Cmdlet          Invoke-HXPrepareGroupRecovery         1.0        Cisco.Runbook
Cmdlet          Invoke-HXPrepareReverseProtect        1.0        Cisco.Runbook
Cmdlet          Invoke-HXReverseProtect               1.0        Cisco.Runbook
Cmdlet          Invoke-HXTestFailover                 1.0        Cisco.Runbook
Cmdlet          New-HXProtectionGroup                 1.0        Cisco.Runbook
Cmdlet          Protect-HXVM                          1.0        Cisco.Runbook
Cmdlet          Remove-HXProtectedVMFromGroup         1.0        Cisco.Runbook
Cmdlet          Remove-HXProtectionGroup              1.0        Cisco.Runbook
Cmdlet          Unprotect-HXVM                        1.0        Cisco.Runbook

Getting Help

To get help for the Cisco HXPowerCLI commands, you can use the Get-help cmdlet.

For example:

Get-help Connect-HXCluster

Output:
NAME
Connect-HXCluster
SYNOPSIS
Connects to the HX Cluster.
SYNTAX
Connect-Cluster [-ClusterIP] <string> [[-Credential] <PSCredential>] [[-Username] <string>] [[-Password] <string>] [<CommonParameters>]
DESCRIPTION
Connects to the HX Cluster.
RELATED LINKS
Disconnect-HXCluster
Get-HXCluster
REMARKS
To see the examples, type: "get-help Connect-HXCluster -examples".
For more information, type: "get-help Connect-HXCluster -detailed".
For technical information, type: "get-help Connect-HXCluster -full".
For online help, type: "get-help Connect-HXCluster -online".

To display the full help content for a Cisco HXPowerCLI command, you can use the get-help <command> -full cmdlet:

For example:

get-help Connect-HXCluster -full

NAME
Connect-HXCluster
SYNOPSIS
Connects to the HX Cluster.
SYNTAX
Connect-Cluster [-ClusterIP] <string> [[-Credential] <PSCredential>] [[-Username] <string>] [[-Password] <string>] [<CommonParameters>]
DESCRIPTION
Connects to the HX Cluster.
PARAMETERS
-Credential <PSCredential>
Specify the user's credential for the cluster.
Required?                    false
Position?                    1
Default value
Accept pipeline input?       true (ByValue, ByPropertyName)
Accept wildcard characters?  false
-cred <PSCredential>
Specify the user's credential for the cluster.
This is an alias of the Credential parameter.
Required?                    false
Position?                    1
Default value
Accept pipeline input?       true (ByValue, ByPropertyName)
Accept wildcard characters?  false
-ClusterIP <string>
Specify the HX Cluster IP.
Required?                    true
Position?                    0
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
-Cluster <string>
Specify the HX Cluster IP.
This is an alias of the ClusterIP parameter.
Required?                    true
Position?                    0
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
-Username <string>
Specify the username for the HX Cluster.
Required?                    false
Position?                    1
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
-user <string>
Specify the username for the HX Cluster.
This is an alias of the Username parameter.
Required?                    false
Position?                    1
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
-Password <string>
Specify the password for the HX Cluster.
Required?                    false
Position?                    2
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
-pwd <string>
Specify the password for the HX Cluster.
This is an alias of the Password parameter.
Required?                    false
Position?                    2
Default value
Accept pipeline input?       false
Accept wildcard characters?  false
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable. For more information, see
about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).
INPUTS
System.Management.Automation.PSCredential
Specify the user's credential for the cluster.
OUTPUTS
IO.Swagger.Model.VirtualMachine
----------  EXAMPLE 1  ----------
C:\> Connect-HXCluster -ClusterIP 10.198.14.227 -Username root -Password abc
Output
-----------------------------
10.198.14.227 is connected..
RELATED LINKS
Disconnect-HXCluster
Get-HXCluster

Viewing Examples

To view examples for the Cisco HXPowerCLI commands, you can use the get-help Connect-HXCluster -examples cmdlet.

For example:

PS C:\> get-help Connect-HXCluster -examples
NAME
Connect-HXCluster
SYNOPSIS
Connects to the HX Cluster.
----------  EXAMPLE 1  ----------
C:\> Connect-HXCluster -ClusterIP 10.198.14.227 -Username root -Password abc
Output
-----------------------------
10.198.14.227 is connected.

Chapter 5. PowerShell Cmdlets for Disaster Recovery

Connect-HXCluster Cmdlet

Syntax

Connect-HXCluster [-ClusterIP] <string> [[-Username] <string>] [[-Password] <string>] [-Credential <PSCredential>] [<CommonParameters>]

Description

Connects to the HyperFlex Cluster.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Cluster <string>

Position?

0

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Credential <PSCredential>

Specify the user credentials for the HyperFlex cluster.

Aliases

-cred <PSCredential>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Username <string>

Specify the username for the HyperFlex cluster.

Aliases

-user <string>

Position?

1

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Password <string>

Specify the password for the HyperFlex cluster.

Aliases

-pwd <string>

Position?

2

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see About Common Parameters in the Microsoft PowerShell Core Guide.

Example

Input
Connect-HXCluster -ClusterIP 10.198.14.227 -Username root -Password abc

Output
10.198.14.227 is connected.

Related Commands

Disconnect-HXCluster

Get-HXCluster

Get-HXCluster Cmdlet

Syntax

Get-HXCluster [<CommonParameters>]

Description

Gets the list of connected HyperFlex clusters.

Example

Input
Get-HXCluster

Output
10.198.14.229
10.198.14.227

Related Commands

Connect-HXCluster

Disconnect-HXCluster

Start-HXVM Cmdlet

Syntax

Start-HXVM [-ServerIP] <ipaddress> [-VM] <Object[]> [[-Delay] <int>] [<CommonParameters>]

Description

Start the HX VM(s).

Required Parameters

-ServerIP <ipaddress>

Specify the IP address of the server that the HX VM is located.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VM <Object[]>

Specify the VM(s) to be started.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Delay <int>

Specify the time delay, in seconds between when a device first powers on and when it starts responding to commands sent to the VMs.

Aliases

-RPID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The Get-HXJsonConfig cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable

For more information, see About CommonParameters.

Disconnect-HXCluster Cmdlet

Syntax

Disconnect-HXCluster [-ClusterIP] <string> [<CommonParameters>]

Description

Disconnects from the HyperFlex cluster.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Cluster <string>

Position?

0

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see About Common Parameters in the Microsoft PowerShell Core Guide.

Example

Input
Disconnect-HXCluster -ClusterIP 10.198.14.2

Output

10.198.14.227 is disconnected.

Related Commands

Connect-HXCluster

Get-HXCluster

Get-HXProtectedVM Cmdlet

Syntax

Get-HXProtectedVM -ClusterIP <string> [-Brief <SwitchParameter>] [-Direction <string>] [-State <string>] [-VMID <string>] [<CommonParameters>]

Get-HXProtectedVM -ClusterIP <string> [-Brief <SwitchParameter>] [-Direction <string>] [-State <string>] [-VMName <string>] [<CommonParameters>]

Description

Retrieves the virtual machines in the HyperFlex cluster.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-VMID <string>

Specify the virtual machine ID for which the jobs have to be displayed.

Aliases

-id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine for which the jobs have to be displayed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Direction <string>

Specify the type of VM to limit the search. The valid values are All, Incoming, Outgoing.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-State <string>

Specify the state of VM to limit the search. The valid values are Active, CreationInProgress, CreationFailed, FailoverStarted, FailoverFailed, FailoverCompleted, PrepareFailoverStarted, PrepareFailoverFailed, PrepareFailoverCompleted, PrepareReverseProtectStarted, PrepareReverseProtectFailed, PrepareReverseProtectCompleted, ReverseProtectStarted, ReverseProtectFailed.

Aliases

-VMState <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Get-HXProtectedVM -ClusterIP 10.198.14.227 -Brief

Output
VM Name: DemoVM1
VM ProtectionStatus: ACTIVE
VM ID: 421ffa79-7380-4b72-7bd8-6651b11def58
Source Cluster: skmsrc_711
Target Cluster: skmtgt_711
Replication Interval(in Minutes) : 5
Bios Uuid: 421ffa79-7380-4b72-7bd8-6651b11def58
Instance Uuid: 501ffa05-293f-0480-b4d3-3de146cb5d30
Start Time: 7/15/2018 12:33:58 PM
End Time: 7/15/2018 12:33:58 PM
BytesReplicated: 2446

Example 2

Input
Get-HXProtectedVM -ClusterIP 10.198.16.16 -VMName ash2 -Brief

Output
VM Name: ash2
VM ProtectionStatus: PREPAREFAILOVERCOMPLETED
VM ID: 422a9cb5-0fef-b30f-ad2d-1004755c50b4
Source Cluster: Sample-source
Target Cluster: Sample-target
Replication Interval(in Minutes) : 5
Bios Uuid: 422a9cb5-0fef-b30f-ad2d-1004755c50b4
Instance Uuid: 502a615b-36db-d624-fc97-4de6dbe30daa
Start Time: 7/15/2018 12:33:58 PM
End Time: 7/15/2018 12:33:58 PM

Example 3

Input
Get-HXProtectedVM -ClusterIP 10.198.16.16 -VMName ash* -Brief

Output
VM Name: ash1
VM ProtectionStatus: PREPAREFAILOVERCOMPLETED
VM ID: 422a9cb5-0fef-b30f-ad2d-1004755c50b4
Source Cluster: Sample-source
Target Cluster: Sample-target
Replication Interval(in Minutes) : 5
Bios Uuid: 422a9cb5-0fef-b30f-ad2d-1004755c50b4
Instance Uuid: 502a615b-36db-d624-fc97-4de6dbe30daa
Start Time: 7/15/2018 12:33:58 PM
End Time: 7/15/2018 12:33:58 PM
BytesReplicated: 2539
=====================================================================
VM Name: ash2
VM ProtectionStatus: ACTIVE
VM ID: 422a1745-5dc3-d1de-00f0-b50851bb970d
Source Cluster: Sample-source
Target Cluster: Sample-target
Replication Interval(in Minutes) : 5
Bios Uuid: 422a9cb5-0fef-b30f-ad2d-1004755c50b4
Instance Uuid: 502a615b-36db-d624-fc97-4de6dbe30daa
Start Time: 7/15/2018 12:33:58 PM
End Time: 7/15/2018 12:33:58 PM
BytesReplicated: 2539

Related Commands

Get-HXProtectionGroup

Protect-HXVM Cmdlet

Syntax

Protect-HXVM -ClusterIP <string> -Interval <string> -VMName <string[]> [-QuiesceUsingTools <SwitchParameter>] [-StartTime <string>] [<CommonParameters>]

Protect-HXVM -ClusterIP <string> -GroupName <string> -VMName <string[]> [<CommonParameters>]

Protect-HXVM -ClusterIP <string> -GroupId <string> -VMName <string[]> [<CommonParameters>]

Protect-HXVM -ClusterIP <string> -Interval <string> -VMId <string[]> [-QuiesceUsingTools <SwitchParameter>] [-StartTime <string>] [<CommonParameters>]

Protect-HXVM -ClusterIP <string> -GroupName <string> -VMId <string[]> [<CommonParameters>]

Protect-HXVM -ClusterIP <string> -GroupId <string> -VMId <string[]> [<CommonParameters>]

Description

Protects an independent virtual machine or a list of virtual machines by adding it to the protection group.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string[]>

Specify the VM Name to protect an independent VM or a list of VM Names to protect a group of VMs by adding them to a protection group.

Aliases

-Name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID on which Reverse Protect has to be performed.

Aliases

-Id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the exisitng protection group name to which the list of virtual machines has to be added.

Aliases

-GrpName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupId <string>

Specify the group ID on which you want to perform prepare group recovery.

Aliases

-GrpId <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Interval <string>

Specify the Interval after which the VM will be replicated. Valid values are "5 min", "15 min", "30 min", "1 hr", "90 min", "2 hr", "4 hr", "8 hr", "12 hr", and "24 hr".

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-QuiesceUsingTools <SwitchParameter>

Specify the flag if the Quiesce has to be done using tools.

Aliases

—

Position?

Named

Default Value

False

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-StartTime <string>

Specify the Start Time after which the virtual machine will be protected. Valid format is M/d/yyyy HH:mm.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Protect-HXVM -ClusterIP 10.198.14.227 -VMName DemoVM2 -Interval '12 hr'

Output
VM has been protected.

Example 2

Input
Protect-HXVM -ClusterIP 10.198.14.227 -VMId 421f0f84-0b3f-fe3a-311c-763f409b3665 -Interval '5 min'

Output
VM has been protected.

Example 3

Input
Protect-HXVM -ClusterIP 10.198.14.227 -VMId 421f0f84-0b3f-fe3a-311c-763f409b3665 -Interval '5 min' -QuiesceUsingTools -StartTime '08/07/2018 13:40'

Output
VM has been protected.

Example 4

Input
Protect-HXVM -ClusterIP 10.198.16.56 -VMName testvm3,testvm4 -GroupName Grp1

Output
VM has been protected.

Related Commands

Unprotect-HXVM

Unprotect-HXVM Cmdlet

Syntax

Unprotect-HXVM -ClusterIP <string> -VMName <string> [<CommonParameters>]

Unprotect-HXVM -ClusterIP <string> -VMID <string> [<CommonParameters>]

Description

Removes a standalone Protected virtual machine and makes it unprotected.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine which has to be removed or unprotected from the protection group.

Aliases

-Name <string]>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the name of the virtual machine which has to be removed or unprotected from the protection group.

Aliases

-Id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Unprotect-HXVM -ClusterIP 10.198.14.229 -VMName DemoVM1

Output
VM :DemoVM1 has been unprotected.

Example 2

Input
Unprotect-HXVM -ClusterIP 10.198.14.227 -VMID 421f57c4-ebbd-a64e-a32b-426a251f9f43

Output
VM :DemoVM2 has been unprotected.

Related Commands

Protect-HXVM

Get-HXProtectionGroup Cmdlet

Syntax

Get-HXProtectionGroup -ClusterIP <string> [-Brief <SwitchParameter>] [-GroupID <string>] [<CommonParameters>]

Get-HXProtectionGroup -ClusterIP <string> [-Brief <SwitchParameter>] [-GroupName <string>] [<CommonParameters>]

Description

Retrieves the protection groups in the HyperFlex cluster.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-GroupID <string>

Specify the ID of specific protection group you want to retrieve.

Aliases

-Grpid <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the specific protection group name you want to retrieve.

Aliases

-GrpName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example

Input
Get-HXProtectionGroup -ClusterIP 10.198.14.227 -GroupName ABC -Brief

Output
Group Name: Group1
Group ID: 6ed3920a-7fc4-4f92-8da5-814f98f05f5c
Group ProtectionStatus: ACTIVE
Group Members:
VM Name: vm1
VM ProtectionStatus: ACTIVE
VM ID: 421f57c4-ebbd-a64e-a32b-426a251f9f43
Source Cluster: skmsrc_711
Start Time: 7/15/2018 1:11:05 PM
End Time: 7/15/2018 1:11:06 PM
BytesReplicated: 2426
-------------------------------------------
Source Cluster: skmsrc_711
Target Cluster: skmtgt_711
Replication Interval(in Minutes): 5

Example 2

Input
Get-HXProtectionGroup -ClusterIP 10.198.14.227 -Brief

Output
This example provides all the protection groups in the the cluster.
----------------------------------------------
Group Name: ABC
Group ID: 6ed3920a-7fc4-4f92-8da5-814f98f05f5c
Group ProtectionStatus: ACTIVE
Group Members:
VM Name: vm1
VM ProtectionStatus: ACTIVE
VM ID: 421f57c4-ebbd-a64e-a32b-426a251f9f43
Source Cluster: skmsrc_711
Start Time: 7/15/2018 1:11:05 PM
End Time: 7/15/2018 1:11:06 PM
BytesReplicated: 2426
-------------------------------------------
Source Cluster: skmsrc_711
Target Cluster: skmtgt_711
Replication Interval(in Minutes): 5
=====================================================================
Group Name: Group1
Group ID: c2d26ade-7674-44ab-982e-3bc044292738
Group ProtectionStatus: ACTIVE
Group Members:
VM Name: shaz
VM ProtectionStatus: ACTIVE
VM ID: 421f57c4-ebbd-a64e-a32b-426a251f9f43
Source Cluster: skmsrc_711
Start Time: 7/15/2018 1:11:05 PM
End Time: 7/15/2018 1:11:06 PM
BytesReplicated: 2426
-------------------------------------------
Source Cluster: skmsrc_711
Target Cluster: skmtgt_711
Replication Interval(in Minutes): 5

Related Commands

Get-HXProtectedVM

New-HXProtectionGroup Cmdlet

Syntax

New-ProtectionGroup -ClusterIP <string> -GroupName <string> -Interval <string> [-QuiesceUsingTools <SwitchParameter>] [-StartTime <string>] [<CommonParameters>]

Description

Creates the new HyperFlex protection group with a schedule.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the group name for the protection group to be created. The group name parameter must not contain special characters.

Aliases

-GrpName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Interval <string>

Specify the Interval after which the VM will be replicated. Valid values are "5 min", "15 min", "30 min", "1 hr", "90 min", "2 hr", "4 hr", "8 hr", "12 hr", and "24 hr".

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-QuiesceUsingTools <SwitchParameter>

Specify the flag if the Quiesce has to be done using tools.

Aliases

—

Position?

Named

Default Value

False

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-StartTime <string>

Specify the Start Time after which the virtual machine will be protected. Valid format is M/d/yyyy HH:mm.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
New-HXProtectionGroup -ClusterIP 10.198.14.227 -GroupName DemoGroup1 -Interval '1 hr'

Output
Protection Group has been created.

Example 2

Input
New-HXProtectionGroup -ClusterIP 10.198.14.114 -GroupName mittu1 -Interval '5 min' -StartTime "08/05/2018 23:53

Output
Protection Group has been created.

Related Commands

Remove-HXProtectionGroup

Add-HXProtectedVMToGroup Cmdlet

Syntax

Add-HXProtectedVMToGroup -ClusterIP <string> -GroupId <string> -VMId <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Add-HXProtectedVMToGroup -ClusterIP <string> -GroupName <string> -VMName <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Add-HXProtectedVMToGroup -ClusterIP <string> -GroupName <string> -VMId <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Add-HXProtectedVMToGroup -ClusterIP <string> -GroupId <string> -VMName <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Description

Adds HyperFlex protected virtual machines to a specified group.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupId <string>

Specify the existing protection group ID to which you want to add the virtual machines.

Aliases

-Group <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the existing protection group name to which you want to add the virtual machines.

Aliases

—

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string[]>

Specify the list of virtual machine names you want to add to the protected group.

Aliases

-Name <string[ ]>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the list of virtual machine ID you want to add to the protected group.

Aliases

-Id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Add-HXProtectedVMToGroup -ClusterIP 10.198.14.227 -GroupId cc4d1fb0-ce87-4550-a32f-2ed28ead4dad -VMId 421f008c-ee7a-b74a-559c-ad481c119b72 -Brief

Output
Group Name: DemoGroup
Group ID: cc4d1fb0-ce87-4550-a32f-2ed28ead4dad
Group ProtectionStatus: ACTIVE
Group Members:
VM Name: 11
VM ProtectionStatus: ACTIVE
VM ID: 421fa002-e68b-a95c-9dbe-ae721b7b2112
Source Cluster: skmsrc_711
Start Time: 7/15/2018 7:11:54 PM
End Time: 7/15/2018 7:11:54 PM
BytesReplicated: 2421
--------------------------------------------
VM Name: 22
VM ProtectionStatus: ACTIVE
VM ID: 421f008c-ee7a-b74a-559c-ad481c119b72
Source Cluster: skmsrc_711
Start Time: 7/15/2018 7:11:54 PM
End Time: 7/15/2018 7:11:54 PM
BytesReplicated: 2505
--------------------------------------------
Source Cluster: skmsrc_711
Target Cluster: skmtgt_711
Replication Interval(in Minutes): 5
===================================================
BytesReplicated: 2446

Example 2

Input
Add-HXProtectedVMToGroup -ClusterIP 10.198.5.221 -GroupName grp1 -VMName newvm1

Output
VM is added to the Group provided.

Related Commands

Remove-HXProtectedVMFromGroup

Invoke-HXPrepareGroupMigrate Cmdlet

Syntax

Invoke-HXPrepareGroupMigrate -ClusterIP <string> -GroupId <string> [<CommonParameters>]

Invoke-HXPrepareGroupMigrate -ClusterIP <string> -GroupName <string> [<CommonParameters>]

Invoke-HXPrepareGroupMigrate [[-InputObject] <ProtectionGroupInfo>] -ClusterIP <string> [<CommonParameters>]

Description

Prepares the protection group for migration.

Since the ProtectionGroup does not have a migrate functionality, it will first move the protection group out the VMs and then performing the PrepareGroupMigrate actions on the individual protected VMs.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupID <string>

Specify the Group ID that you want to prepare for migration.

Aliases

-Id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the group name that you want to prepare for migration.

Aliases

-Name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

InputObject <ProtectionGroupInfo>

Specifies process object-ProtectionGroupInfo. Enter a variable that contains the ProtectionGroupInfo object, or type a command or expression that gets the ProtectionGroupInfo object.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXPrepareGroupMigrate -ClusterIP 10.198.18.14 -GroupName Gr

OutputProtectionStatus : ACTIVE

ProtectionStatusV2 : FAILOVERCOMPLETED

Er : class EntityRef {

Name: Gr

Type: DPVMGROUP

Id: 6f989156-606e-4444-b306-671467770d9e

Idtype:

Confignum: 0

}

Description :

PrimaryEr : class EntityRef {

Name: source

Type: CLUSTER

Id: 11125698743286105:6544070822059896282

Idtype:

Confignum: 0

}

Members : {}

Schedule : {class ReplicationClusterErToSchedule {

TargetClusterEr: class EntityRef {

Name: target

Type: CLUSTER

Id: 6213976327835006658:4775923387153986355

Idtype:

Confignum: 0

}

Schedule: class ReplicationSchedule {

Enabled: True

IntervalInMinutes: 5

StartTime: 1537516954345

QuiesceType: NONE
}

}

Ex :

REMARKS
To see the examples, type: "get-help Invoke-HXPrepareGroupMigrate -examples".
For more information, type: "get-help Invoke-HXPrepareGroupMigrate -detailed".
For technical information, type: "get-help Invoke-HXPrepareGroupMigrate -full".
For online help, type: "get-help Invoke-HXPrepareGroupMigrate -online"

Related Commands

Invoke-HXPrepareGroupRecovery Cmdlet

Syntax

Invoke-HXPrepareGroupRecovery -ClusterIP <string> -GroupId <string> [<CommonParameters>]

Invoke-HXPrepareGroupRecovery -ClusterIP <string> -GroupName <string> [<CommonParameters>]

Description

Prepares the protection group for recovery.

As the ProtectionGroup does not have a failover functionality, it first moves out the VMs from the protection group and then performs prepare group recovery on the individual protected VMs.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupId <string>

Specify the group ID on which you want to perform prepare group recovery.

Aliases

-Id <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the group name on which you want to perform prepare group recovery.

Aliases

-Name <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example

Input
Invoke-HXPrepareGroupRecovery -ClusterIP 10.198.14.229 -GroupId 6ed3920a-7fc4-4f92-8da5-814f98f05f5c

Output
ProtectionStatusV2 : FAILOVERCOMPLETED
Er : class EntityRef {
Name: Group1
Type: DPVMGROUP
Id: 6ed3920a-7fc4-4f92-8da5-814f98f05f5c
Idtype:
Confignum: 0
}
Description :
PrimaryEr : class EntityRef {
Name: skmsrc_711
Type: CLUSTER
Id: 316711787155901742:8013209598152688184
Idtype:
Confignum: 0
}
Members : {}
Schedule : {class ReplicationClusterErToSchedule {
TargetClusterEr: class EntityRef {
Name: skmtgt_711
Type: CLUSTER
Id: 196170859791797843:6439004119086246008
Idtype:
Confignum: 0
}
Schedule: class ReplicationSchedule {
Enabled: True
IntervalInMinutes: 5
StartTime: 1531297344621
QuiesceType: NONE
}
}
}

Related Commands

Get-HXProtectionGroup

Remove-HXProtectedVMFromGroup Cmdlet

Syntax

Remove-ProtectedVMFromGroup -ClusterIP <string> -GroupName <string> -VMName <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Remove-ProtectedVMFromGroup -All <SwitchParameter> -ClusterIP <string> -GroupName <string> [-Brief <SwitchParameter>] [<CommonParameters>]

Remove-ProtectedVMFromGroup -ClusterIP <string> -GroupName <string> -VMId <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Remove-ProtectedVMFromGroup -ClusterIP <string> -GroupId <string> -VMId <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Remove-ProtectedVMFromGroup -All <SwitchParameter> -ClusterIP <string> -GroupId <string> [-Brief <SwitchParameter>] [<CommonParameters>]

Remove-ProtectedVMFromGroup -ClusterIP <string> -GroupId <string> -VMName <string[]> [-Brief <SwitchParameter>] [<CommonParameters>]

Description

Removes HyperFlex protected virtual machines from a specified group.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupId <string>

Specify the existing protection group ID to which you want to add the virtual machines.

Aliases

-Group <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the existing protection group name to which you want to add the virtual machines.

Aliases

—

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string[]>

Specify the list of virtual machine names you want to add to the protected group.

Aliases

-Name <string[ ]>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the list of virtual machine ID you want to add to the protected group.

Aliases

-Id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-All <SwitchParameter>

Indicates that the command will remove all the VMs that exist in the protection group.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example

Input
Remove-HXProtectedVMFromGroup -ClusterIP 10.198.14.227 -GroupName Group1 -All

Output
ProtectionStatus : ACTIVE
ProtectionStatusV2 : ACTIVE
Er : class EntityRef {
Name: Group1
Type: DPVMGROUP
Id: 6ed3920a-7fc4-4f92-8da5-814f98f05f5c
Idtype:
Confignum: 0
}
Description :
PrimaryEr : class EntityRef {
Name: skmsrc_711
Type: CLUSTER
Id: 316711787155901742:8013209598152688184
Idtype:
Confignum: 0
}
Members : {}
Schedule : {class ReplicationClusterErToSchedule {
TargetClusterEr: class EntityRef {
Name: skmtgt_711
Type: CLUSTER
Id: 196170859791797843:6439004119086246008
Idtype:
Confignum: 0
}
Schedule: class ReplicationSchedule {
Enabled: True
IntervalInMinutes: 5
StartTime: 1531297344621
QuiesceType: NONE
}
}
}

Related Commands

Add-HXProtectedVMToGroup

Remove-HXProtectionGroup Cmdlet

Syntax

Remove-HXProtectionGroup -ClusterIP <string> -GroupID <string> [<CommonParameters>]

Remove-HXProtectionGroup -ClusterIP <string> -GroupName <string> [<CommonParameters>]

Description

Removes the protection group by deleting it. All the member virtual machines become unprotected.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupID <string>

Specify the existing protection group ID to which you want to add the virtual machines.

Aliases

-Grpid <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-GroupName <string>

Specify the existing protection group name to which you want to add the virtual machines.

Aliases

-GrpName <string>

Position?

Named

Default Value

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Remove-HXProtectionGroup -ClusterIP 10.198.14.227 -GroupName DemoGroup1

Output
This command deletes the Group and the member VMs are unprotected.

Example 2

Input
Remove-HXProtectionGroup -ClusterIP 10.198.14.227 -GroupID 421f57c4-ebbd-a64e-a32b-426a251f9f43

Output
This command deletes the Group and the member VMs are unprotected.

Related Commands

New-HXProtectionGroup

Invoke-HXPrepareFailover Cmdlet

Syntax

Invoke-HXPrepareFailover -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXPrepareFailover -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXPrepareFailover [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Description

Prepares the protected VM for the failover on the protected site.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID for which the jobs have to be displayed.

Aliases

-VM <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine for which the jobs have to be displayed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job ID. To get the status of job, refer to the Get-HXTaskStatus cmdlet.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXPrepareFailover -ClusterIP 10.198.14.227 -VMID 421fcaff-8592-428a-61a7-0181bf0314a3 -Async

Output
{"taskId":"99a18c1d-23e8-4cf9-aedf-845dc9c832fb"}

Example 2

Input
Invoke-HXPrepareFailover -ClusterIP 10.198.14.227 -VMID 421f8bbb-540f-11e1-038a-4e66c2ebcc70 -Brief

Output
State: COMPLETED
Summary Step State: NOTSTARTED
Job ID: 2d6c7d49-1ac9-4bc1-9bb7-8a0efa112d1c
Method Name: prepareFailoverVm
Time Submitted: 7/15/2018 7:02:47 PM
Time Started: 7/15/2018 7:02:47 PM
Time Elapsed: 7/15/2018 7:02:53 PM
Message: Successfully completed prepareFailover for VMID %s

Related Commands

Invoke-HXFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXReverseProtect

Invoke-HXTestFailover

Get-HXTaskStatus

Invoke-HXFailover Cmdlet

Syntax

Invoke-HXFailover -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXFailover -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXFailover [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Description

Performs test failover of the protected virtual machine.

- Mutually exclusive optional parameters are ResourcePoolName/ResourcePoolId, FolderName/FolderId, and TestNetwork/Networkmap.

- If the source network map is invalid, the VM will failover to default network map setting(s).

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID for which the jobs have to be displayed.

Aliases

-VM <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine for which the jobs have to be displayed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-ResourcePoolName <string>

Specify the name of the resource pool.

Aliases

-RPName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolID <string>

Specify the ID of the resource pool.

Aliases

-RPID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderName <string>

Specify the folder name.

Aliases

-FName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderID <string>

Specify the folder ID.

Aliases

-FID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NetworkMap <string[]>

Specify the network mapping.

Format is SourceNetwork1:TargetNetwork1, SourceNetwork2:TargetNetwork2.

Aliases

-NwMap <string[]>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-PowerOn <SwitchParameter>

Indicates if the VM will be powered On or Off after Test failover.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job ID. To get the status of job, refer to the Get-HXTaskStatus cmdlet.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXFailover -VMID 421ffa79-7380-4b72-7bd8-6651b11def58 -PowerOn -ClusterIP 10.198.14.229 -FolderName DemoFolder -NetworkMap "Storage Controller Data Network:VM Network" -Async

Output
{"taskId":"d92559c6-2396-4757-a500-96ad11820bbd"}

Example 2

Input
Invoke-HXFailover -VMName DemoVM3 -ClusterIP 10.198.14.229 -Brief

Output
Failover of VM Completed
State: COMPLETED
Summary Step State: NOTSTARTED
Job ID: 2c611807-260d-45cf-9294-4f93a84204a1
Method Name: failoverVm
Time Submitted: 7/15/2018 5:44:00 PM
Time Started: 7/15/2018 5:44:00 PM
Time Elapsed: 7/15/2018 5:44:05 PM
Message: Successfully completed %s recovery for VM %s

Example 3

Input
Invoke-HXFailover -ClusterIP 10.198.5.221 -VMName testvm2 -ResourcePoolName RPName -PowerOn

Output
Failover of VM Completed in the Resource Pool provided.

Related Commands

Invoke-HXPrepareFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXReverseProtect

Invoke-HXTestFailover

Get-HXTaskStatus

Invoke-HXPrepareReverseProtect Cmdlet

Syntax

Invoke-HXPrepareReverseProtect -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXPrepareReverseProtect -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXPrepareReverseProtect [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Description

Prepares virtual machines for reverse protect on the primary site.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine on which Prepare Reverse Protect has to be performed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID on which Prepare Reverse Protect has to be performed.

Aliases

-vm <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job Id. To get the status of job, refer to Get-HXTaskStatus.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

-vm <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXPrepareReverseProtect -ClusterIP 10.198.14.227 -VMID 421f0f84-0b3f-fe3a-311c-763f409b3665 -Async

Output
{"taskId":"99a18c1d-23e8-4cf9-aedf-845dc9c832fb"}

Example 2

Input
Invoke-HXPrepareReverseProtect -ClusterIP 10.198.14.227 -VMName DemoVM2 -Brief

Output
Method Name: prepareReverseProtectVm
Time Submitted: 7/15/2018 5:52:27 PM
Time Started: 7/15/2018 5:52:27 PM
Time Elapsed: 7/15/2018 5:52:28 PM
Message: Successfully completed prepareReverseProtect for vm: %s

Related Commands

Invoke-HXFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXReverseProtect

Invoke-HXTestFailover

Get-HXTaskStatus

Invoke-HXReverseProtect Cmdlet

Syntax

Invoke-HXReverseProtect -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-SecondaryOnly <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXReverseProtect -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-SecondaryOnly <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXReverseProtect [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-SecondaryOnly <SwitchParameter>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Description

Reverse protects the virtual machines on the recovery site after the failover is complete.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine on which Reverse Protect has to be performed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID on which Reverse Protect has to be performed.

Aliases

-id <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job ID. To get the status of job, refer to Get-HXTaskStatus.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXReverseProtect -ClusterIP 10.198.14.229 -VMID 421f0f84-0b3f-fe3a-311c-763f409b3665 -Async

Output
{"taskId":"8d26dfba-ed64-4768-9960-62d40865e51e"}

Example 2

Input
Invoke-HXReverseProtect -ClusterIP 10.198.14.229 -VMName DemoVM1 -Brief

Output
Reverse Protect of VM Completed
State: COMPLETED
Summary Step State: NOTSTARTED
Job ID: 5d154cf0-ff85-482a-ae7c-252c0ca324b8
Method Name: reverseProtectVm
Time Submitted: 7/15/2018 5:57:49 PM
Time Started: 7/15/2018 5:57:49 PM
Time Elapsed: 7/15/2018 5:57:49 PM
Message: Successfully completed reverseProtect for vm: %s

Related Commands

Invoke-HXFailover

Invoke-HXPrepareFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXTestFailover

Get-HXTaskStatus

Invoke-HXTestFailover Cmdlet

Syntax

Invoke-HXTestFailover -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-NewName <string>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-TestNetwork <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXTestFailover -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-NewName <string>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-TestNetwork <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXTestFailover [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-NewName <string>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-TestNetwork <string>] [-ValidateRecovery <SwitchParameter>] <CommonParameters>]

Description

Performs test failover of the protected virtual machine.

- Mutually exclusive optional parameters are ResourcePoolName/ResourcePoolId, FolderName/FolderId, and TestNetwork/Networkmap.

- If the source network map is invalid, the VM will failover to default network map setting(s).

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID for which the jobs have to be displayed.

Aliases

-VM <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine for which the jobs have to be displayed.

Aliases

-Name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-ResourcePoolName <string>

Specify the name of the resource pool.

Aliases

-RPName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolId <string>

Specify the ID of the resource pool.

Aliases

-RPId <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderName <string>

Specify the folder name.

Aliases

-FName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderID <string>

Specify the folder ID.

Aliases

-FId <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TestNetwork <string>

Specify the network to test.

Aliases

-TestNw <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NetworkMap <string[]>

Specify the network mapping.

Aliases

-NwMap <string[]>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NewName <string>

To change the name of the virtual machine after failover is successful, specify a new name for the VM.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-PowerOn <SwitchParameter>

Indicates if the VM will be powered On or Off after Test failover.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job ID. To get the status of job, refer to the Get-HXTaskStatus.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Example 1

Input
Invoke-HXTestFailover -VMName DemoVM2 -ClusterIP 10.198.14.229 -ResourcePoolName DemoRP -Brief

Output
Test Failover of VM Completed
State: COMPLETED
Summary Step State: NOTSTARTED
Job ID: 5b1cdaf6-bca9-42a3-b6a8-b1f7d16e7d29
Method Name: failoverVm
Time Submitted: 7/15/2018 5:39:08 PM
Time Started: 7/15/2018 5:39:09 PM
Time Elapsed: 7/15/2018 5:39:23 PM
Message: Successfully completed %s recovery for VM %s

Example 2

Input
Invoke-HXTestFailover -VMName DemoVM2 -ClusterIP 10.198.14.229 -FolderName DemoFLDR -Async

Output
{"taskId":"d92559c6-2396-4757-a500-96ad11820bbd"}

Related Commands

Invoke-HXPrepareFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXReverseProtect

Invoke-HXTestFailover

Get-HXTaskStatus

Invoke-HXMigrate Cmdlet

Syntax

Invoke-HXMigrate -ClusterIP <string> -VMId <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXMigrate -ClusterIP <string> -VMName <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Invoke-HXMigrate [[-InputObject] <ProtectedVMInfo>] -ClusterIP <string> [-Async <SwitchParameter>] [-Brief <SwitchParameter>] [-FolderID <string>] [-FolderName <string>] [-NetworkMap <string[]>] [-PowerOn <SwitchParameter>] [-ResourcePoolID <string>] [-ResourcePoolName <string>] [-ValidateRecovery <SwitchParameter>] [<CommonParameters>]

Description

Performs the migrate action of the protected virtual machine to the recovery site.

- Mutually exclusive optional parameters are ResourcePoolName/ResourcePoolId, and FolderName/FolderId.

- If the source network map is invalid, the VM will failover to default network map setting(s).

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMID <string>

Specify the virtual machine ID for which the jobs have to be displayed.

Aliases

-VM <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-VMName <string>

Specify the name of the virtual machine for which the jobs have to be displayed.

Aliases

-name <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-Async <SwitchParameter>

Indicates that the command returns immediately without waiting for the task to complete. In this mode, the output of the cmdlet is a Job ID. To get the status of job, refer to the Get-HXTaskStatus cmdlet.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ValidateRecovery <SwitchParameter>

Validates whether VM already recovered and returns a warning message.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-InputObject <ProtectedVMInfo>

Specifies the that the named object-ProtectedVMInfo.Enter object be filtered.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolName <string>

Specify the name of the resource pool.

Aliases

-RPName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolID <string>

Specify the ID of the resource pool.

Aliases

-RPID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderName <string>

Specify the folder name.

Aliases

-FName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderID <string>

Specify the folder ID.

Aliases

-FID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NetworkMap <string[]>

Specify the network mapping.

Format is SourceNetwork1:TargetNetwork1, SourceNetwork2:TargetNetwork2.

Aliases

-NwMap <string[]>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-PowerOn <SwitchParameter>

Indicates if the VM will be powered On or Off after Test failover.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

The Invoke-HXMigrate cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable

For more information, see About CommonParameters.

Example 1

Input
Invoke-HXMigrate -VMId 423f2a33-2255-ca1e-62ec-4adf21dc884a -PowerOn -ClusterIP 10.198.18.14 -FolderName
DemoFolder -NetworkMap "Storage Controller Data Network:VM Network" -Async

Output
{"taskId":"48337705-1e29-494d-aec2-0b23797f3f09"}

Example 2

Input
Invoke-HXMigrate -ClusterIP 10.198.18.14 -VMName NewVM1 -Brief

Output
Migrate of VM Completed

State: COMPLETED

Summary Step State: SUCCEEDED

Job ID: 3d28616f-61d4-4067-971d-e5ab85711d6b

Method Name: Migrate

Time Submitted: 9/24/2018 5:16:15 AM

Time Started: 9/24/2018 5:16:15 AM

Time Elapsed: 9/24/2018 5:17:39 AM

Message: Successfully completed migrate for VM: %s

Example 3

Input
Invoke-HXMigrate -ClusterIP 10.198.18.14 -VMName NewVM4 -ResourcePoolName RPName -PowerOn -Async

Output
{"taskId":"4536296e-4420-47f2-823f-efccac25a9e0"}
REMARKS
To see the examples, type: "get-help Invoke-HXMigrate -examples".
For more information, type: "get-help Invoke-HXMigrate -detailed".
For technical information, type: "get-help Invoke-HXMigrate -full".
For online help, type: "get-help Invoke-HXMigrate -online"

Related Commands

Get-HXTaskStatus Cmdlet

Syntax

Get-HXTaskStatus -ClusterIP <string> -TaskId <string> [-Brief <SwitchParameter>] [-TaskState <string>] [-TaskType <string>] [<CommonParameters>]

Get-HXTaskStatus -ClusterIP <string> -TaskName <string> [-Brief <SwitchParameter>] [-TaskState <string>] [-TaskType <string>] [<CommonParameters>]

Get-HXTaskStatus -ClusterIP <string> [-Brief <SwitchParameter>] [-TaskState <string>] [-TaskType <string>] [<CommonParameters>]

Description

Gets the task status of a HyperFlex cluster.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-TaskName <string>

Indicates the task name.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TaskID <string>

Indicates the task ID.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TaskType <string>

Indicates the task type. Accepted values are All, CLUSTER, NODE_MAINTENANCE_MODE, CLUSTER_EXPANSION, CLUSTER_UPGRADE, VM_SNAPSHOT, VM_CLONE, SED, DR_NETWORK, DR_REPLICATION_NETWORK_CHECK, DR_REPLICATION_PAIR_NETWORK_CHECK, DR_DATASTORE_MAP, VOLUME, DR_UPGRADE_MTU_INVENTORY, RECOVERY, SYNC.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TaskState <string>

Indicates the task state. Accepted values are All, NEW, RUNNING, SUCCEEDED, FAILED.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-Brief <SwitchParameter>

Indicates that the command will return the brief formatted output.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The Get-HXTaskStatus cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable

For more information, see About CommonParameters.

Example 1

Input
Get-HXTaskStatus -ClusterIP 10.198.14.227 -TaskName task4

Output
This command uses the TaskName parameter to get the task status for a specific task in the cluster.

Example 2

Input
Get-HXTaskStatus -ClusterIP 10.198.14.227 -Brief

Output
This command displays all the tasks that have been created in the cluster.

Related Commands

Wait-HXTask

Invoke-HXFailover

Invoke-HXPrepareFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXTestFailover

Invoke-HXReverseProtect

Wait-HXTask Cmdlet

Syntax

Wait-HXTask -ClusterIP <string> -Task <JobIdentity[]> [<CommonParameters>]

Wait-HXTask -ClusterIP <string> -TaskId <string[]> [<CommonParameters>]

Wait-HXTask -ClusterIP <string> [-InputObject <HxTaskDT>] [<CommonParameters>]

Description

Waits for the completion of the specified tasks.

Required Parameters

-ClusterIP <string>

Specify the IP address of the HyperFlex cluster.

Aliases

-Server <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

- Task <JobIdentity[]>

Indicates the task object of TaskIdentity task.

Aliases

-TaskID <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TaskId <string[]>

Indicates the task ID.

Aliases

ID

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-InputObject <HxTaskDT>

Specifies the HxTaskDT object that is returned from the Get-HXClusterTasks cmdlet. Enter a variable that contains the HxTaskDT object, or type a command, or enter an expression that gets the HxTaskDT object.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The Wait-HXTask cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

For more information, see About CommonParameters.

Example

Input
Wait-HXTask -ClusterIP 10.198.14.229 -TaskId 5b1cdaf6-bca9-42a3-b6a8-b1f7d16e7d29

Output
-----------------------------
Step Status
-------------------------------------------
Name:TestFailover
Description:Test Failover completed for VM vmC4
State:SUCCEEDED
-------------------------------------------
Step Status
-------------------------------------------
Name:Step1
Description:Summary Step
State:SUCCEEDED
-------------------------------------------

Related Commands

Get-HXTaskStatus

Invoke-HXPrepareFailover

Invoke-HXPrepareGroupRecovery

Invoke-HXPrepareReverseProtect

Invoke-HXReverseProtect

Invoke-HXTestFailover

New-HXRunbook Cmdlet

Syntax

Syntax to generate Runbook for a specific recovery mode to run in parallel, by passing all the mandatory and optional parameters.

New-HXRunbook -RecoveryMode <String> -ProtectedSiteClusterIP <IPAddress> -ProtectedSiteClusterCreds <PSObject[]> -RecoverySiteClusterIP <IPAddress> -RecoverySiteClusterCreds <PSObject[]> -ProtectedSiteVCenterIP <IPAddress> -ProtectedSiteVCenterCreds <PSObject[]> -RecoverySiteVCenterIP <IPAddress> -RecoverySiteVCenterCreds <PSObject[]> [-ParallelRecoveryLimit <Int32>] [-DelayBetweenRecovery <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] <CommonParameters>

Syntax to generate Runbook for a specific recovery mode to run in parallel, by letting the system to get credentials while executing the command.

New-HXRunbook -RecoveryMode <String> -ProtectedSiteClusterIP <IPAddress> -RecoverySiteClusterIP <IPAddress> -ProtectedSiteVCenterIP <IPAddress> -RecoverySiteVCenterIP <IPAddress> [-ParallelRecoveryLimit <Int32>] [-DelayBetweenRecovery <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] <CommonParameters>

Syntax to generate Runbook for a specific recovery mode to run in sequential order, by passing all the mandatory and optional parameters.

New-HXRunbook -RecoveryMode <String> -ProtectedSiteClusterIP <IPAddress> -ProtectedSiteClusterCreds <PSObject[]> -RecoverySiteClusterIP <IPAddress> -RecoverySiteClusterCreds <PSObject[]> -ProtectedSiteVCenterIP <IPAddress> -ProtectedSiteVCenterCreds <PSObject[]> -RecoverySiteVCenterIP <IPAddress> -RecoverySiteVCenterCreds <PSObject[]> -SequentialRecovery [-DelayBetweenRecovery <Int32] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] <CommonParameters>

Syntax to generate Runbook for a specific recovery mode to run in sequential order, by letting the system to get credentials while executing the command.

New-HXRunbook -RecoveryMode <String> -ProtectedSiteClusterIP <IPAddress> -RecoverySiteClusterIP <IPAddress> -ProtectedSiteVCenterIP <IPAddress> -RecoverySiteVCenterIP <IPAddress> -SequentialRecovery [-DelayBetweenRecovery <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] <CommonParameters>

Syntax to regenerate Runbook for a specific recovery mode by passing parameters through JSON file.

New-HXRunbook [-JsonInputFile <String>] [-ProtectedSiteClusterCreds <PSObject[]>] [-RecoverySiteClusterCreds <PSObject[]>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterCreds <PSObject[]>] [-RunbookFolder <String>] [<CommonParameters>]

Syntax to regenerate Runbook for a specific recovery mode by passing JSON configuration variable.

New-HXRunbook [-JsonConfigVariable <PSObject>] [-ProtectedSiteClusterCreds <PSObject[]>] [-RecoverySiteClusterCreds <PSObject[]>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterCreds <PSObject[]>] [-RunbookFolder <String>] [<CommonParameters>]

Description

Generates runbook for various recovery scenarios. The New-HXRunbook cmdlet supports the following workflows: Test Recovery, Planned Migration, and Disaster Recovery.

Required Parameters

-RecoveryMode <String>

Specify the recovery mode for which the runbook has to be generated. The valid recovery modes are: 'TestRecovery','DisasterRecovery', and 'PlannedMigration'.

Aliases

Mode

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteClusterIP <IPAddress>

Specify the IP address of the protected site cluster.

Aliases

PriCluIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteClusterCreds <PSObject[]>

Specify the credentials of the protected site cluster.

Aliases

PriCluCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteClusterIP <IPAddress>

Specify the IP address of the recovery site cluster.

Aliases

SecCluIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteClusterCreds <PSObject[]>

Specify the credentials of the recovery site cluster.

Aliases

SecCluCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteVCenterIP <IPAddress>

Specify the IP address of the protected site vCenter server.

Aliases

PriVCIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteVCenterCreds <PSObject[]>

Specify the credentials of the protected site vCenter server.

Aliases

PriVCCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteVCenterIP <IPAddress>

Specify the IP address of the recovery site vCenter server.

Aliases

SecVCIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteVCenterCreds <PSObject[]>

Specify the credentials of the recovery site vCenter server

Aliases

SecVCCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-JsonInputFile <String>

If you want to regenerate a runbook with some updates to the variables in the JSON file of the generated runbook, do required updates in the JSON file and specify path of the customized JSON input file to regenerate the runbook.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-JsonConfigVariable <PSObject>

If you want to regenerate a runbook with some updates to the variables in the JSON file of the generated runbook, specify JSON config variable ($HXJsonConfig) to regenerate the runbook.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Optional Parameters

-ParallelRecoveryLimit <Int32>

Specify the maximum limit for executing multiple recovery jobs in parallel at once. The default value is 10. The passed value must be lesser than or equal to 10.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-SequentialRecovery [<SwitchParameter>]

Switch to enable recovery of VMs in a sequential order.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-DelayBetweenRecovery <Int32>

Specify the duration in seconds to delay the recovery operation of subsequent VMs when recovery operation is run in parallel or sequential order.

Aliases

—

Position?

Named

Default Value

0

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RunbookFolder <String>

Specify the path of a new output folder in which the generated runbook files have to be saved. The default path is C:\Runbooks.

Aliases

—

Position?

Named

Default Value

"C:\Runbooks"

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolName <String>

Specify the target resource pool name where all the VMs have to be recovered or migrated. This pool name is applicable for all the protected VMs.

Aliases

RPool

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderName <String>

Specify the folder name where all the VMs have to be recovered or migrated. This folder name is applicable for all the protected VMs.

Aliases

FName

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TestNetwork <String>

Specify the test network for test recovery.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TestVmPrefix <String>

Specify the prefix name that needs to be added to VM after test recovery.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NetworkMap <PSObject[]>

Specify the network mapping in the following format:

"SourceNetwork1:TargetNetwork1","SourceNetwork2:TargetNetwork2"

Aliases

NMap

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectionGroup <PSObject[]>

Specify one or more protection groups.

Aliases

Group

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The New-HXRunbook cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

For more information, see About CommonParameters.

Example 1

Generate a runbook for all the protected VMs for the Test Recovery scenario.

Input
New-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0"
-ProtectedSiteClusterCreds "user","password" -RecoverySiteClusterIP "10.10.10.1"
-RecoverySiteClusterCreds "user","password" -ProtectedSiteVCenterIP "10.10.10.11"
-ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password"

Output
INFO: Generating 'TestRecovery' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:'C:\Runbooks\Runbook-TestRecovery-Parallel_(13-Feb-2019_15-32)'
INFO: Runbook file:'Runbook-TestRecovery-(13-Feb-2019_15-32).ps1'
INFO: Json file:'Json-TestRecovery-(13-Feb-2019_15-32).json'
INFO: Json Configuration Variable:$HXJsonConfig
INFO: Cleanup file:'CleanupScript-TestRecovery-(13-Feb-2019_15-32).ps1'

Note

The Cleanup file is generated only for the test recovery mode. The Cleanup file is used to cleanup the secondary site.

Example 2

Generate a runbook for all the protected VMs for the Disaster Recovery scenario.

Input
New-HXRunbook -RecoveryMode 'DisasterRecovery' -ProtectedSiteClusterIP "10.10.10.0"
-ProtectedSiteClusterCreds "user","password" -RecoverySiteClusterIP "10.10.10.1"
-RecoverySiteClusterCreds "user","password" -ProtectedSiteVCenterIP "10.10.10.11"
-ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password"

Output
INFO: Generating 'DisasterRecovery' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:     'C:\Runbooks\Runbook-DisasterRecovery-Parallel_(13-Feb-2019_15-32)'
INFO: Runbook file:      'Runbook-DisasterRecovery-(13-Feb-2019_15-32).ps1'
INFO: Json file:         'Json-DisasterRecovery-(13-Feb-2019_15-32).json'
INFO: Json Configuration Variable:       $HXJsonConfig
INFO: ReverseProtect file:       'ReverseProtect_Script_(13-Feb-2019_15-32).ps1'

Note

The ReverseProtect file is generated only for the disaster recovery mode. The ReverseProtect file is used to recover the secondary site after disaster.

Example 3

Generate a runbook for all the protected VMs for the Planned Migration scenario.

Input
New-HXRunbook -RecoveryMode 'PlannedMigration' -ProtectedSiteClusterIP "10.10.10.0"
-ProtectedSiteClusterCreds "user","password" -RecoverySiteClusterIP "10.10.10.1"
-RecoverySiteClusterCreds "user","password" -ProtectedSiteVCenterIP "10.10.10.11"
-ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password"

Output
INFO: Generating 'PlannedMigration' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:'C:\Runbooks\Runbook-PlannedMigration-Parallel_(13-Feb-2019_15-31)'
INFO: Runbook file:'Runbook-PlannedMigration-(13-Feb-2019_15-31).ps1'
INFO: Json file:'Json-PlannedMigration-(13-Feb-2019_15-31).json'
INFO: Json Configuration Variable: $HXJsonConfig

Example 4

Generate a runbook for all the protected VMs for the Planned Migration scenario by passing addtional parameters such as FolderName and NetworkMap.

Input
New-HXRunbook -RecoveryMode 'PlannedMigration' -ProtectedSiteClusterIP "10.10.10.0"
-ProtectedSiteClusterCreds "user","password" -RecoverySiteClusterIP "10.10.10.1"
-RecoverySiteClusterCreds "user","password" -ProtectedSiteVCenterIP "10.10.10.11"
-ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password" -NetworkMap "SourceNetwork1:TargetNetwork1",
"SourceNetwork2:TargetNetwork2" -FolderName "Recovery_Folder"

Output
INFO: Generating 'PlannedMigration' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:'C:\Runbooks\Runbook-PlannedMigration-Parallel_(13-Feb-2019_15-31)'
INFO: Runbook file:'Runbook-PlannedMigration-(13-Feb-2019_15-31).ps1'
INFO: Json file:'Json-PlannedMigration-(13-Feb-2019_15-31).json'
INFO: Json Configuration Variable: $HXJsonConfig

Example 5

Generate a runbook by passing the modified JSON file with customized VM details.

Input
New-HXRunbook -JsonInputFile "C:\Runbooks\Runbook-TestRecovery-Parallel_(08-Nov-2018_13-28)
\Json-TestRecovery-Parallel_(08-Nov-2018_13-28).json"

Output
INFO: Generating 'TestRecovery' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:'C:\Runbooks\Runbook-TestRecovery-Parallel_(13-Feb-2019_15-32)'
INFO: Runbook file:'Runbook-TestRecovery-(13-Feb-2019_15-32).ps1'
INFO: Json file:'Json-TestRecovery-(13-Feb-2019_15-32).json'
INFO: Json Configuration Variable:$HXJsonConfig
INFO: Cleanup file:'CleanupScript-TestRecovery-(13-Feb-2019_15-32).ps1'

Example 6

Generate a runbook for a specific protection group for the Test Recovery scenario.

Input
New-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password" -ProtectionGroup "group1"

Output
INFO: Generating 'TestRecovery' runbook.
INFO: Runbook has been successfully generated.
INFO: Target Folder:'C:\Runbooks\Runbook-TestRecovery-Parallel_(12-Jun-2019_15-32)'
INFO: Runbook file:'Runbook-TestRecovery-(12-Jun-2019_15-32).ps1'
INFO: Json file:'Json-TestRecovery-(12-Jun-2019_15-32).json'
INFO: Json Configuration Variable:$HXJsonConfig
INFO: Cleanup file:'CleanupScript-TestRecovery-(12-Jun-2019_15-32).ps1'

Related Commands

Get-HXJsonConfig

Invoke-HXRunbook Cmdlet

Syntax

Invoke-HXRunbook [-RecoveryMode <String>] [-ProtectedSiteClusterIP <IPAddress>] [-ProtectedSiteClusterCreds <PSObject[]>] [-RecoverySiteClusterIP <IPAddress>] [-RecoverySiteClusterCreds <PSObject[]>] [-ProtectedSiteVCenterIP <IPAddress>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterIP <IPAddress>] [-RecoverySiteVCenterCreds <PSObject[]>] [-SequentialRecovery] [-DelayBetweenRecovery <Int32>] [-DelayInPowerOn <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] [-PersistConnection] [<CommonParameters>]

Invoke-HXRunbook [-JsonInputFile <String>] [-ProtectedSiteClusterCreds <PSObject[]>] [-RecoverySiteClusterCreds <PSObject[]>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterCreds <PSObject[]>] [-RunbookFolder <String>] [-PersistConnection] [<CommonParameters>]

Invoke-HXRunbook [-JsonConfigVariable <PSObject>] [-ProtectedSiteClusterCreds <PSObject[]>] [-RecoverySiteClusterCreds<PSObject[]>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterCreds <PSObject[]>] [-RunbookFolder <String>] [-PersistConnection] [<CommonParameters>]

Invoke-HXRunbook [-RecoveryMode <String>] [-ProtectedSiteClusterIP <IPAddress>] [-RecoverySiteClusterIP <IPAddress>] [-ProtectedSiteVCenterIP <IPAddress>] [-RecoverySiteVCenterIP <IPAddress>] [-ParallelRecoveryLimit <Int32>] [-DelayBetweenRecovery <Int32>] [-DelayInPowerOn <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] [-PersistConnection] [<CommonParameters>]

Invoke-HXRunbook [-RecoveryMode <String>] [-ProtectedSiteClusterIP <IPAddress>] [-ProtectedSiteClusterCreds<PSObject[]>] [-RecoverySiteClusterIP <IPAddress>] [-RecoverySiteClusterCreds <PSObject[]>] [-ProtectedSiteVCenterIP <IPAddress>] [-ProtectedSiteVCenterCreds <PSObject[]>] [-RecoverySiteVCenterIP <IPAddress>] [-RecoverySiteVCenterCreds <PSObject[]>] [-ParallelRecoveryLimit <Int32>] [-DelayBetweenRecovery <Int32>] [-DelayInPowerOn <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] [-PersistConnection] [<CommonParameters>]

Invoke-HXRunbook [-RecoveryMode <String>] [-ProtectedSiteClusterIP <IPAddress>] [-RecoverySiteClusterIP <IPAddress>] [-ProtectedSiteVCenterIP <IPAddress>] [-RecoverySiteVCenterIP <IPAddress>] [-SequentialRecovery] [-DelayBetweenRecovery <Int32>] [-DelayInPowerOn <Int32>] [-RunbookFolder <String>] [-ResourcePoolName <String>] [-FolderName <String>] [-TestNetwork <String>] [-TestVmPrefix <String>] [-NetworkMap <PSObject[]>] [-ProtectionGroup <PSObject[]>] [-PersistConnection] [<CommonParameters>]

I

Description

Generates and executes runbook for various recovery scenarios. Supported workflows: Test Recovery and Planned Migration.

Optional Parameters

JsonInputFile <String>

If you want to regenerate a runbook with some updates to the variables in the JSON file of the generated runbook, do required updates in the JSON file and specify path of the customized JSON input file to regenerate the runbook.

Aliases

-RPName <string>

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-JsonConfigVariable <PSObject>

If you want to regenerate a runbook with some updates to the variables in the JSON file of the generated runbook, specify JSON config variable ($HXJsonConfig) to regenerate the runbook.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoveryMode <String>

Specify the recovery mode for which the runbook has to be generated. The valid recovery modes are: 'TestRecovery' and 'PlannedMigration'.

Aliases

Mode

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteClusterIP <IPAddress>

Specify the IP address of the protected site cluster.

Aliases

PriCluIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteClusterCreds <PSObject[]>

Specify the credentials of the protected site cluster.

Aliases

PriCluCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteClusterIP <IPAddress>

Specify the IP address of the recovery site cluster.

Aliases

SecCluIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteClusterCreds <PSObject[]>

Specify the credentials of the recovery site cluster.

Aliases

SecCluCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteVCenterIP <IPAddress>

Specify the IP address of the protected site vCenter server.

Aliases

PriVCIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectedSiteVCenterCreds <PSObject[]>

Specify the credentials of the protected site vCenter server.

Aliases

PriVCCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteVCenterIP <IPAddress>

Specify the IP address of the recovery site vCenter server.

Aliases

SecVCIP

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RecoverySiteVCenterCreds <PSObject[]>

Specify the credentials of the recovery site vCenter server

Aliases

SecVCCred

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ParallelRecoveryLimit <Int32>

Specify the maximum limit for executing multiple recovery jobs in parallel at once. The default value is 10. The passed value must be lesser than or equal to 10.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-SequentialRecovery [<SwitchParameter>]

Switch to enable recovery of VMs in a sequential order.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-DelayBetweenRecovery <Int32>

Specify the duration in seconds to delay the recovery operation of subsequent VMs when recovery operation is run in parallel or sequential order.

Aliases

—

Position?

Named

Default Value

0

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-DelayInPowerOn <Int32>

Specify the time delay, in seconds between when a device first powers on and when it starts responding to commands sent to the VMs.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-RunbookFolder <String>

Specify the path of a new output folder in which the generated runbook files have to be saved. The default path is C:\Runbooks.

Aliases

—

Position?

Named

Default Value

"C:\Runbooks"

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ResourcePoolName <String>

Specify the target resource pool name where all the VMs have to be recovered or migrated. This pool name is applicable for all the protected VMs.

Aliases

RPool

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-FolderName <String>

Specify the folder name where all the VMs have to be recovered or migrated. This folder name is applicable for all the protected VMs.

Aliases

FName

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TestNetwork <String>

Specify the test network for test recovery.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-TestVmPrefix <String>

Specify the prefix name that needs to be added to VM after test recovery.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-NetworkMap <PSObject[]>

Specify the network mapping in the following format:

"SourceNetwork1:TargetNetwork1","SourceNetwork2:TargetNetwork2"

Aliases

NMap

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

-ProtectionGroup <PSObject[]>

Specify one or more protection groups.

Aliases

Group

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The New-HXRunbook cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable.

For more information, see About CommonParameters.

Example 1

Generate and execute a runbook for all protected VMs for 'Test Recovery' Scenario.

Input
Invoke-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password"

Example 2

Generate and execute a runbook for all protected VMs for 'Planned Migration' Scenario.

Input
Invoke-HXRunbook -RecoveryMode 'PlannedMigration' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password"

Example 3

Generate and execute a runbook for all protected VMs passing addtional parameters FolderName,NetworkMap.

Input
Invoke-HXRunbook -RecoveryMode 'PlannedMigration' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password" -NetworkMap "SourceNetwork1:TargetNetwork1","SourceNetwork2:TargetNetwork2"
-FolderName "Recovery_Folder"

Example 4

Generate and execute a runbook for all protected VMs for 'Test Recovery' Scenario without cluster or vCenter login credentials.

Input
Invoke-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0" -RecoverySiteClusterIP "10.10.10.1"
-ProtectedSiteVCenterIP "10.10.10.11" -RecoverySiteVCenterIP "10.10.10.12"

Example 5

Generate and execute a runbook for a specific protection group for 'Test Recovery' Scenario

Input
Invoke-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password" -ProtectionGroup "group1"

Example 6

Generate and execute a runbook for multiple protection group for 'Test Recovery' Scenario.

Input
Invoke-HXRunbook -RecoveryMode 'TestRecovery' -ProtectedSiteClusterIP "10.10.10.0" -ProtectedSiteClusterCreds
"user","password" -RecoverySiteClusterIP "10.10.10.1" -RecoverySiteClusterCreds "user","password"
-ProtectedSiteVCenterIP "10.10.10.11" -ProtectedSiteVCenterCreds "user","password" -RecoverySiteVCenterIP "10.10.10.12"
-RecoverySiteVCenterCreds "user","password" -ProtectionGroup "group1","group2","group3"

Example 7

Generate and execute a runbook by passing modified JSON file with Global/VM level parameter customization..

Input
Invoke-HXRunbook -JsonInputFile
"C:\Runbooks\Runbook-TestRecovery-Parallel_(08-Feb-2019_13-28)\Json-TestRecovery-Parallel_(08-Feb-2019_13-28).json"

Example 8

Generate and execute a runbook by passing customized $HXJsonConfig (ie.JSON configuration variable).

Input
Invoke-HXRunbook -JsonConfigVariable $HXJsonConfig
REMARKS
To see the examples, type: "get-help Invoke-HXRunbook -examples".
For more information, type: "get-help Invoke-HXRunbook -detailed".
For technical information, type: "get-help Invoke-HXRunbook -full".

Related Commands

New-HXRunbook

Get-HXJsonConfig Cmdlet

Syntax

Get-HXJsonConfig [-JsonInputFile] <string> [<CommonParameters>]

Description

Customize the JSON file of runbook through PowerShell.

Required Parameters

-JsonInputFile <String>

If you want to regenerate a runbook by updateing the variables in the JSON file of the generated runbook through powershell, specify path of the JSON input file of the runbook.

Aliases

—

Position?

Named

Default Value

—

Accept Pipeline Input?

False

Accept Wildcard Characters?

False

Common Parameters

The Get-HXJsonConfig cmdlet supports the following common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable

For more information, see About CommonParameters.

Example 1

Update the JSON variable using the Get-HXJsonConfig cmdlet.

Input Get-HXJsonConfig -JsonInputFile 'C:\Runbooks\Runbook-DisasterRecovery-
Parallel_(13-Feb-2019_15-25)\Json-DisasterRecovery-Parallel_(13-Feb-2019_1
5-25).json'

Output
Imported Json File :     'C:\Runbooks\Runbook-DisasterRecovery-Parallel_(13-Feb-2019_15-25)\
Json-DisasterRecovery-Parallel_(13-Feb-2019_15-25).json'
Json Configuration Variable :    $HXJsonConfig
Steps to follow:
(1) Update properties of the variable :  $HXJsonConfig
(2) Run following cmdlet to generate new Runbook :  New-HXRunbook -JsonConfigVariable $HXJsonConfig

Run the following code to see the content of the JSON file.

Input
$HXJsonConfig

Output
JsonVersion            : 1.0
RecoveryMode           : DisasterRecovery
RecoveryExecutionMode  : Parallel
ProtectedSiteClusterIP : 10.198.15.9
ProtectedSiteVCenterIP : 10.198.11.158
RecoverySiteClusterIP  : 10.198.15.11
RecoverySiteVCenterIP  : 10.198.12.17
ResourcePoolName       :
FolderName             :
NetworkMap             :
DelayBetweenRecovery   : 0
ParallelRecoveryLimit  : 10
BootOrderGroup1        : {tgtVM2, tgtVm1, srcVmW1, srcVM1...}
BootOrderGroup2        : {srcVm2}
VMParams               : @{WinvVM2=; srcVmW1=; srcVm2=; tgtVm1=; tgtVM2=; srcVM1=}

Run the following command to update the recovery mode.

Input
$HXJsonConfig.RecoveryMode = "PlannedMigration"
$HXJsonConfig

Output
JsonVersion            : 1.0
RecoveryMode           : PlannedMigration
RecoveryExecutionMode  : Parallel
ProtectedSiteClusterIP : 10.198.15.9
ProtectedSiteVCenterIP : 10.198.11.158
RecoverySiteClusterIP  : 10.198.15.11
RecoverySiteVCenterIP  : 10.198.12.17
ResourcePoolName       :
FolderName             :
NetworkMap             :
DelayBetweenRecovery   : 0
ParallelRecoveryLimit  : 10
BootOrderGroup1        : {tgtVM2, tgtVm1, srcVmW1, srcVM1...}
BootOrderGroup2        : {srcVm2}
VMParams               : @{WinvVM2=; srcVmW1=; srcVm2=; tgtVm1=; tgtVM2=; srcVM1=}

Full Cisco Trademarks with Software License

THE SPECIFICATIONS AND INFORMATION REGARDING THE PRODUCTS IN THIS MANUAL ARE SUBJECT TO CHANGE WITHOUT NOTICE. ALL STATEMENTS, INFORMATION, AND RECOMMENDATIONS IN THIS MANUAL ARE BELIEVED TO BE ACCURATE BUT ARE PRESENTED WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USERS MUST TAKE FULL RESPONSIBILITY FOR THEIR APPLICATION OF ANY PRODUCTS.

THE SOFTWARE LICENSE AND LIMITED WARRANTY FOR THE ACCOMPANYING PRODUCT ARE SET FORTH IN THE INFORMATION PACKET THAT SHIPPED WITH THE PRODUCT AND ARE INCORPORATED HEREIN BY THIS REFERENCE. IF YOU ARE UNABLE TO LOCATE THE SOFTWARE LICENSE OR LIMITED WARRANTY, CONTACT YOUR CISCO REPRESENTATIVE FOR A COPY.

The Cisco implementation of TCP header compression is an adaptation of a program developed by the University of California, Berkeley (UCB) as part of UCB's public domain version of the UNIX operating system. All rights reserved. Copyright © 1981, Regents of the University of California.

NOTWITHSTANDING ANY OTHER WARRANTY HEREIN, ALL DOCUMENT FILES AND SOFTWARE OF THESE SUPPLIERS ARE PROVIDED “AS IS" WITH ALL FAULTS. CISCO AND THE ABOVE-NAMED SUPPLIERS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THOSE OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OR ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE.

IN NO EVENT SHALL CISCO OR ITS SUPPLIERS BE LIABLE FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, OR INCIDENTAL DAMAGES, INCLUDING, WITHOUT LIMITATION, LOST PROFITS OR LOSS OR DAMAGE TO DATA ARISING OUT OF THE USE OR INABILITY TO USE THIS MANUAL, EVEN IF CISCO OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.

All printed copies and duplicate soft copies of this document are considered uncontrolled. See the current online version for the latest version.

Cisco has more than 200 offices worldwide. Addresses and phone numbers are listed on the Cisco website at www.cisco.com/go/offices.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: https://www.cisco.com/c/en/us/about/legal/trademarks.html. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1721R)