Set-VMReplicationServer

Set-VMReplicationServer

Configures a host as a Replica server.

Syntax

Parameter Set: AuthenticationPort
Set-VMReplicationServer [[-ReplicationEnabled] <Boolean> ] [[-AllowedAuthenticationType] <RecoveryAuthenticationType> ] [[-ReplicationAllowedFromAnyServer] <Boolean> ] [-CertificateAuthenticationPort <Int32> ] [-CertificateThumbprint <String> ] [-ComputerName <String[]> ] [-DefaultStorageLocation <String> ] [-Force] [-KerberosAuthenticationPort <Int32> ] [-MonitoringInterval <TimeSpan> ] [-MonitoringStartTime <TimeSpan> ] [-PassThru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: AuthenticationPortMapping
Set-VMReplicationServer [[-ReplicationEnabled] <Boolean> ] [[-AllowedAuthenticationType] <RecoveryAuthenticationType> ] [[-ReplicationAllowedFromAnyServer] <Boolean> ] [-CertificateAuthenticationPortMapping <Hashtable> ] [-CertificateThumbprint <String> ] [-ComputerName <String[]> ] [-DefaultStorageLocation <String> ] [-Force] [-KerberosAuthenticationPortMapping <Hashtable> ] [-MonitoringInterval <TimeSpan> ] [-MonitoringStartTime <TimeSpan> ] [-PassThru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-VMReplicationServer cmdlet configures a host as a Replica server and enables you to specify the types of authentication and ports to use for incoming replication traffic.

To restrict the replication traffic that the Replica server will accept by allowing it only from specific servers, use the New-VMReplicationAuthorizationEntry cmdlet.

Parameters

-AllowedAuthenticationType<RecoveryAuthenticationType>

Specifies which authentication types the Replica server will use. Allowed values are Kerberos, Certificate, or CertificateAndKerberos.

Aliases

AuthType

Required?

false

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateAuthenticationPort<Int32>

Specifies the port on which the Replica server will receive replication data using certificate-based authentication. This parameter can be set only when the value of the AllowedAuthType parameter is Certificate or CertificateAndKerberos.

Aliases

CertAuthPort

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateAuthenticationPortMapping<Hashtable>

When using Hyper-V Replica with failover clustering and certificate-based authorization, you can use this parameter to specify a different port for each node of the cluster to receive replication. We recommend that you specify a unique port for each node of the cluster, and one unique port for the Hyper-V Replica Broker. This parameter can be set only when the Replica server is configured with an authentication type of Certificate or CertificateAndKerberos.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateThumbprint<String>

Specifies the certificate to use for mutual authentication of the replication data. This parameter is required only when Certificate is specified as the type of authentication. Specify the thumbprint of a valid computer certificate from the Personal store.

--The certificate must have all of the following properties to be valid:

--It must not be expired.

--It must include both client and server authentication extensions for extended key usage (EKU), and an associated private key.

--It must terminate at a valid root certificate.

--Meet the requirements for the subject common name (CN):

For servers that are not clustered, the subject common name (CN) must be equal to, or subject alternative name (DNS Name) should contain, the FQDN of the host.

For servers that are clustered, each node must have two certificates – one in which the subject common name (CN) or subject alternative name (DNS Name) is the name of the node, and the other in which subject common name (CN) or subject alternative name (DNS Name) is FQDN of the Hyper-V Replica Broker.

To display a list of certificates in the computer’s My store and the thumbprint of each certificate, type the following:

PS C:\> cd cert:\LocalMachine\My

PS C:\> dir | format-list

For more information about certificate stores, see https://technet.microsoft.com//library/cc757138.aspx.

Aliases

Thumbprint

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ComputerName<String[]>

Configures Replica server settings for one or more Hyper-V hosts. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer — use “localhost” or a dot (“.”) to specify the local computer explicitly.

Aliases

none

Required?

false

Position?

named

Default Value

.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DefaultStorageLocation<String>

Specifies the default location to store the virtual hard disk files when a Replica virtual machine is created. You must specify this parameter when ReplicationAllowedFromAnyServer is True.

Aliases

StorageLoc

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Specifies whether the command runs without requiring confirmation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-KerberosAuthenticationPort<Int32>

Aliases

KerbAuthPort

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-KerberosAuthenticationPortMapping<Hashtable>

When using Hyper-V Replica with failover clustering and Kerberos authorization, you can use this parameter to specify a different port for each node of the cluster to receive replication. We recommend that you specify a unique port for each node of the cluster, and one unique port for the Hyper-V Replica Broker. This parameter can be set only when the Replica server is configured with an authentication type of either Kerberos or CertificateAndKerberos.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MonitoringInterval<TimeSpan>

Specifies how often (the monitoring interval) replication statistics are computed. Valid values are: 1 hour, 2 hours, 3 hours, 4 hours, 6 hours, 8 hours, 12 hours, 24 hours, 2 days, 3 days, 4 days, 5 days, 6 days, 7 days. Specify in the format days:hours:minutes:seconds, such as 01:00:00 for 1 hour, or 1.00:00:00 for 1 day.

Aliases

none

Required?

false

Position?

named

Default Value

24

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MonitoringStartTime<TimeSpan>

Specifies when the monitoring interval starts.

Aliases

none

Required?

false

Position?

named

Default Value

9 AM

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PassThru

Specifies that a VMReplicationServer object is to be passed through to the pipeline representing the replication settings of the Replica server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ReplicationAllowedFromAnyServer<Boolean>

Specifies whether to accept replication requests from any server. When specified as true, DefaultStorageLocation must also be specified. The default storage location and DEFAULT trust group tag are used for virtual machine replicas.

Aliases

AllowAnyServer

Required?

false

Position?

3

Default Value

True

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ReplicationEnabled<Boolean>

Specifies whether the host is enabled as a Replica server.

Aliases

RepEnabled

Required?

false

Position?

1

Default Value

True

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None by default; VMRecoveryServer if –PassThru is specified.

Examples

Example 1

This example configures the local host as a Replica server and specifies Kerberos for authentication.

PS C:\>  Set-VMReplicationServer $true –AllowedAuthenticationType Kerberos 

Example 2

This example configures a Replica server that accepts replication from all authenticated servers and uses a default storage location of d:\DefaultReplicaStorage.

PS C:\>  Set-VMReplicationServer –ReplicationEnabled $true AllowedAuthenticationType –ReplicationAllowedFromAnyServer $true –DefaultStorageLocation d:\DefaultReplicaStorage

Example 3

This example configures the Replica server with a monitoring interval of 12 hours starting at 17:00 hours.

PS C:\>  Set-VMReplicationServer –MonitoringInterval “12:00:00” –MonitoringStartTime “17:00:00”

Example 4

This example configures the nodes of the cluster to receive replication on different ports. The first command declares a variable named portmapping and uses it to store the server names of the nodes and the port to use on each node. The second command configures each node of the cluster to use port mapping for Kerberos authentication using the values stored in the portmapping variable.

PS C:\>  $portmapping = @{"Server1.contoso.com" = 82; "Server2.contoso.com" = 81; "Broker.contoso.com" = 80}
PS C:\> Set-VMReplicationServer -KerberosAuthenticationPortMapping $portmapping