Set-RemoteAccessLoadBalancer

Set-RemoteAccessLoadBalancer

Configures load balancing on the Remote Access (RA) server or the cluster server.

Syntax

Parameter Set: EnableLoadBalancing
Set-RemoteAccessLoadBalancer [-InternetDedicatedIPAddress] <String[]> [-AsJob] [-CimSession <CimSession[]> ] [-ComputerName <String> ] [-InternalDedicatedIPAddress <String[]> ] [-InternalVirtualIPAddress <String[]> ] [-InternetVirtualIPAddress <String[]> ] [-PassThru] [-ThrottleLimit <Int32> ] [-UseThirdPartyLoadBalancer] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: DisableLoadBalancing
Set-RemoteAccessLoadBalancer -Disable [-AsJob] [-CimSession <CimSession[]> ] [-ComputerName <String> ] [-Force] [-PassThru] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ThirdPartyLoadBalancer
Set-RemoteAccessLoadBalancer -ThirdPartyLoadBalancer <String> [-AsJob] [-CimSession <CimSession[]> ] [-ComputerName <String> ] [-PassThru] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-RemoteAccessLoadBalancer cmdlet configures load balancing for a Remote Access (RA) deployment.
-- The InternalDedicatedIPAddress and InternalVirtualIPAddress parameters must be specified unless the server is configured with a single network adapter only.
-- If the use of a third-party external load balancer is Enabled, then Windows network load balancing (NLB) is automatically Disabled, otherwise NLB is Enabled.
-- When load balancing is enabled the IP-HTTPS prefix and the IPv6 prefix for VPN must be of length 59 bits. The IP-HTTPS prefix can be configured using the ClientIPv6Prefix parameter in the Set-DAServer cmdlet.
-- All servers in the cluster share the same RA configuration.

Note: If Windows load balancing is used then the Network Load Balancing role (NLB) needs to be installed prior to using this cmdlet.

Parameters

-AsJob

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CimSession<CimSession[]>

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ComputerName<String>

Specifies the IPv4 or IPv6 address, or host name, of the server on which the cmdlet runs. If this parameter is specified, then the server is added to the load balanced cluster.

Aliases

Cn

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Disable

Disables load balancing.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Forces the command to run without asking for user confirmation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InternalDedicatedIPAddress<String[]>

Specifies one or more IP addresses with subnet masks that will be used as the dedicated IP addresses (DIPs) for load balancing on the internal network adapter.
Specify the IPv4 address and subnet in the format IP_ADDR/SUBNET. For IPv6 specify the prefix length along with the IP address.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-InternalVirtualIPAddress<String[]>

Specifies one or more IP addresses with subnet masks that will be used as the virtual IP addresses (VIPs) for load balancing on the internal network adapter. These are usually the current IP addresses on the internal adapter of the server on which the cmdlet is run.
Specify the IPv4 address and subnet in the format IP_ADDR/SUBNET. For IPv6 specify the prefix length along with the IP address.
If ISATAP is deployed in the internal network, then at least one of the IP addresses specified in this parameter should be present in the ISATAP name entry in DNS.
The NLS should resolve to at least one of the VIPs.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-InternetDedicatedIPAddress<String[]>

Specifies one or more IPv4 or IPv6 addresses with subnet masks that will be used as the DIPs for load balancing on the external network adapter.
Specify the IPv4 address and subnet in the format IP_ADDR/SUBNET. For IPv6 specify the prefix length along with the IP address.

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-InternetVirtualIPAddress<String[]>

Specifies one or more IP addresses with subnet masks that will be used as the VIPs for load balancing on the external network adapter and should include the IPsec tunnel endpoint IP addresses on the external adapter.
Specify the IPv4 address and subnet in the format IP_ADDR/SUBNET. For IPv6 specify the prefix length along with the IP address. If ISATAP is deployed in the internal network, then at least one of the IP addresses specified in the parameter should be present in the ISATAP name entry in DNS. If the external adapter VIP addresses are not specified, then by default the IPsec tunnel endpoint IP addresses on the external adapter are used.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ThirdPartyLoadBalancer<String>

Specifie the enabled state of a third-party external load balancer. The acceptable values for this parameter are:
-- Enabled.
-- Disabled.
Note: If external load balancing is Enabled and Teredo has been deployed, then all the external DIPs must be consecutive addresses.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ThrottleLimit<Int32>

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-UseThirdPartyLoadBalancer

Enables use of a third-party external load balancer for cluster traffic.
Note: If external load balancing is enabled and Teredo has been deployed, then all the external DIPs must be consecutive addresses.

Aliases

none

Required?

false

Position?

named

Default Value

none

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.

  • None

Outputs

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

  • Microsoft.Management.Infrastructure.CimInstance#RemoteAccessLoadBalancer

    The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.
    The RemoteAccessLoadBalancer object consists of the following properties:
    The list of nodes in the cluster and the following properties for each node:
    -- IPv4 or IPv6 address or host name of the node.
    -- The load balancing status of each node.
    -- IPv4 address ranges configured on each node for the VPN static pool address assignment.
    -- Status of third party load balancer: Enabled or Disabled.
    -- The list of internet virtual IP addresses.
    -- The list of internal virtual IP addresses.

Examples

EXAMPLE 1

This example sets the NLB settings with Windows load balancer in edge topology. Therefore the Internet address of the existing DA server located at 131.107.0.2 is promoted to be the internet virtual IP address of the load balanced cluster. In this way, clients can still connect to the same external IP that they connected to without bothering about load balancing.

PS C:\> Set-RemoteAccessLoadBalancer -InternetDedicatedIPAddress "131.107.0.20/255.255.255.0" -InternalDedicatedIPAddress @("3ffe::2/64","10.0.0.2/255.255.255.0") -InternetVirtualIPAddress @("131.107.0.5/255.255.255.0","131.107.0.15/255.255.255.0") -InternalVirtualIPAddress @("3ffe::5/64","10.0.0.5/255.255.255.0") -PassThru

EXAMPLE 2

This example sets the NLB settings with Windows load balancer in single network adapter topology. The corporate network is IPv4 and IPv6 enabled and therefore an array containing the IPv4 and IPv6 addresses for internet VIP and DIP is specified. Since the DA server is behind an edge device, the internet VIPs and DIPs contain corporate network addresses.

PS C:\> Set-RemoteAccessLoadBalancer –InternetDedicatedIPAddress @("10.0.0.2/255.255.255.0","3ffe::2/64") –InternetVirtualIPAddress @("10.0.0.5/255.255.255.0", "3ffe::5/64") –PassThru

EXAMPLE 3

This example sets the NLB settings using third party load balancer. The administrator will still have to manually configure the NLB device.

PS C:\> Set-RemoteAccessLoadBalancer -InternetDedicatedIPAddress "131.107.0.20/255.255.255.0" -InternalDedicatedIPAddress @("3ffe::2/64","10.0.0.2/255.255.255.0") -InternetVirtualIPAddress @("131.107.0.5/255.255.255.0","131.107.0.15/255.255.255.0") -InternalVirtualIPAddress @("3ffe::5/64","10.0.0.5/255.255.255.0") -PassThru -UseThirdPartyLoadBalancer

EXAMPLE 4

This example disables the external load balancer for a Windows load balanced cluster. The computer will now use the Windows load balancer to balance the load between servers.

PS C:\> Set-RemoteAccessLoadBalancer -ThirdPartyLoadBalancer Disabled –PassThru

EXAMPLE 5

This example enables the external load balancer for a Windows load balanced cluster. The computer will now use the external load balancer to balance the load between servers.

PS C:\> Set-RemoteAccessLoadBalancer –ThirdPartyLoadBalancer Enabled -PassThru

EXAMPLE 6

This example removes the NLB configuration. DA configuration is also removed from all the servers except the one on which the cmdlet is run.

PS C:\> Set-RemoteAccessLoadBalancer –Disable

Add-RemoteAccessLoadBalancerNode

Get-RemoteAccessLoadBalancer

Remove-RemoteAccessLoadBalancerNode

Set-DAServer

Set-RemoteAccessLoadBalancer