Add-RemoteAccessLoadBalancerNode

Adds a server to the load balancing cluster.

Syntax

Add-RemoteAccessLoadBalancerNode
   [-RemoteAccessServer] <String>
   [-InternalInterface <String>]
   [-InternetInterface <String>]
   [-VpnIPAddressRange <String[]>]
   [-ComputerName <String>]
   [-Force]
   [-PassThru]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Add-RemoteAccessLoadBalancerNode cmdlet adds a server to the load balanced cluster:

-- The server is added to the cluster to which the server on which the cmdlet is run, or to the server specified in the ComputerName parameter.

-- When a server is added to cluster, Remote Access settings are replicated on the server to match the other servers in the cluster. The Remote Access role and the Network Load Balancing (NLB) role should be installed on the server before adding it to the cluster.

-- The internal and external adapters can be specified manually. If no parameters are specified, then the cmdlet will attempt to detect settings automatically.

-- The IPv6 prefix for IP-HTTPS should be 59 bits. If IPv6 addressing is used for VPN, then the IPv6 prefix should be 59 bits.

-- All the designed IPs on the server being added to the cluster must be in the same subnet as other servers in the cluster.

-- If self-signed certificates are not being used, then certificates for IP-HTTPS and network location server (NLS) (if NLS is on DirectAccess (DA) Server) must be present on the new server. Note: The subject name of certificate must be same as the respective certificates on the other computers in the cluster.

Examples

EXAMPLE 1

Create a load balanced cluster using the Set-RemoteAccessLoadBalancer cmdlet.
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")


Add the Edge2 server as a new node in this load balanced cluster.
PS C:\>$RemoteAccessNLB = Add-RemoteAccessLoadBalancerNode -RemoteAccessServer Edge2.corp.contoso.com -PassThru
Confirm 
Certificate Iphttps cannot be located on the Remote Access server. Do you want DirectAccess to create and use a self-signed certificate? 
 
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y 
 
Confirm
Certificate NLS cannot be located on the Remote Access server. Do you want DirectAccess to create and use a self-signed certificate? 
 
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y 
 
WARNING: When adding a server (running the network location server using a self-signed certificate) to a cluster, point the network location server DNS entry to the internal DIP of each cluster server. After GPO updates, update the DNS entry again to the cluster VIP. 

The cmdlet is run on Edge1 server and therefore the Edge2 server is added to the same cluster as the Edge1 server as shown in output of NlbNodeStatus.
PS C:\>$RemoteAccessNLB.NlbNodeStatus
{EDGE1.CORP.CONTOSO.COM, EDGE2.CORP.CONTOSO.COM}

This example creates a NLB Cluster and adding a new server to a load balanced cluster.

EXAMPLE 2

If VPN is enabled, define a static address range for VPN. If this is being used in a script and the prompts are to be suppressed, then run this cmdlet with the **Force** parameter.
PS C:\>Add-RemoteAccessLoadBalancerNode -RemoteAccessServer edge3 -VpnIPAddressRange @("192.168.1.1","192.168.1.100") -PassThru
Confirm 
Certificate Iphttps cannot be located on the Remote Access server. Do you want DirectAccess to create and use a self-signed certificate? 
 
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y 
 
Confirm
Certificate NLS cannot be located on the Remote Access server. Do you want DirectAccess to create and use a self-signed certificate? 
 
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y 
 
WARNING: When adding a server (running the network location server using a self-signed certificate) to a cluster, point the network location server DNS entry to the internal DIP of each cluster server. After GPO updates, update the DNS entry again to the cluster VIP. 
 
HostName       : EDGE3 
StatusCode     : In Progress 
IPAddressRange : 
IPv6Prefix     :

This example adds a new server to a load balanced cluster with VPN enabled.

Parameters

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Specifies the IPv4or IPv6 address, or host name of the computer, on which the Remote Access server computer specific tasks should be run. If this parameter is specified, then it represents the cluster to which the server is added.

Type:String
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Forces the command to run without asking for user confirmation.

When suppressed the cmdlet assumes user confirmation for the below mentioned changes.

-- If self-signed NLS certificate is found on all other nodes in the cluster, then a self-signed certificate is created for this node.

-- If self-signed SSL (IP-HTTPS) certificate is found on all other nodes in the cluster, then a self-signed certificate is created for this node.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InternalInterface

Specifies the name of the corporate network facing interface of the specified server. If a name is not specified, then this cmdlet attempts to find the internal interface automatically. For a single-network adapter configuration the same name is specified for both the internal and internet interfaces.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InternetInterface

Specifies the name of the internet facing interface of the specified server. If a name is not specified, then this cmdlet attempts to find the internet interface automatically. For a single-network adapter configuration the same name is specified for both the internal and internet interfaces.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoteAccessServer

Specifies the IPv4 or IPv6 address, or name, of a server. The cmdlet adds the server to the load balanced cluster.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ThrottleLimit

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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VpnIPAddressRange

Specifies the IP address range for allocation to VPN clients. This parameter must be specified if VPN is enabled. The range should not overlap with ranges configured on other servers in the cluster.

In a cluster, only static pool address assignment can be used. DHCP is not supported.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

String[]

Outputs

CimInstance

CimInstance

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 RemoteAccessLoadBalancerNode object consists of the following properties:

-- The IPv4/IPv6 address or host name of the node that was added to the cluster.

-- The load balancing status of the node.

-- IPv4 address ranges configured on the node for VPN static pool address assignment.