The Add-NlbClusterPortRule cmdlet adds a new port rule to a Network Load Balancing (NLB) cluster.
Port rules control how an NLB cluster functions.
To maximize the control of various types of TCP/IP traffic, you can set up port rules to control how each port's cluster-network traffic is handled.
The method by which a port's network traffic is handled is called its filtering mode.
There are three possible filtering modes: Multiple hosts, Single host, and Disabled.
A filtering mode can also apply to a numerical range of ports.
You do this by defining a port rule with a set of configuration parameters that define the filtering mode.
In addition, you can select one of three options for client affinity: None, Single, or Network.
Single and Network are used to ensure that all network traffic from a particular client is directed to the same cluster host.
To allow NLB to properly handle IP fragments, you should avoid using None when you select UDP or Both for your protocol setting.
This cmdlet changes the configuration on all cluster nodes.
As a result, the NLB cluster will have to restart the convergence process on all nodes to guarantee that configuration changes have been applied on all nodes and that a consistent state is reached.
Any additional operations on the NLB cluster should not be initiated until all cluster nodes have completed the convergence process and are back to the converged state.
ps_nlbc_checkstate_remark
Examples
Example 1: Add a new port rule to the local cluster
PS C:\>Get-NlbCluster | Add-NlbClusterPortRule -StartPort 443 -EndPort 443
IPAddress State Start End Protocol Mode Affinity Timeout
--------- ----- ----- --- -------- ---- -------- -------
All Enabled 443 443 Both Multiple Single 0
This command adds a new port rule to the local cluster.
The new port rule covers port 443 only, and uses the default settings for the rest of the port rule parameters.
Example 2: Add a new port rule to the local cluster with no affinity
PS C:\>Get-NlbCluster | Add-NlbClusterPortRule -StartPort 80 -EndPort 80 -Affinity None
IPAddress State Start End Protocol Mode Affinity Timeout
--------- ----- ----- --- -------- ---- -------- -------
All Enabled 80 80 Both Multiple None 0
This command adds a new port rule to the local cluster.
The new port rule covers port 80 only and has no affinity, and uses the default settings for the rest of the port rule parameters.
Parameters
-Affinity
Specifies the type of affinity for the new port rule.
The acceptable values for this parameter are:
Network
None
Single
Parameter properties
Type:
PortRuleAffinity
Default value:
None
Accepted values:
Single, None, Network
Supports wildcards:
False
DontShow:
False
Aliases:
A
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-EndPort
Specifies the end port for the new port rule.
The acceptable values for this parameter are: 0 through 65535.
Parameter properties
Type:
Int32
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
E
Parameter sets
(All)
Position:
1
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-HostName
Specifies the name of the cluster host against which this cmdlet is run.
If this parameter is omitted or a value of . is entered, then the local cluster is assumed.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
Host, HN, H
Parameter sets
NonPipeline
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-InputObject
Specifies the cluster to which the port rule is added.
Parameter properties
Type:
Cluster[]
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
Pipeline
Position:
Named
Mandatory:
True
Value from pipeline:
True
Value from pipeline by property name:
True
Value from remaining arguments:
False
-InterfaceName
Specifies the interface to which NLB is bound.
This is the interface of the cluster against which this cmdlet is run.
Parameter properties
Type:
String
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
Interface, IN, I
Parameter sets
NonPipeline
Position:
Named
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-IP
Specifies the IP address for the new cluster port rule.
Parameter properties
Type:
IPAddress
Default value:
None
Supports wildcards:
False
DontShow:
False
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Mode
Specifies the filtering mode for the new cluster port rule.
The acceptable values for this parameter are:
Disabled
Multiple
Single
Parameter properties
Type:
PortRuleFilteringMode
Default value:
None
Accepted values:
Multiple, Single, Disabled
Supports wildcards:
False
DontShow:
False
Aliases:
M
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Protocol
Specifies the protocol for the new port rule.
The acceptable values for this parameter are:
Both
TCP
UDP
Parameter properties
Type:
PortRuleProtocol
Default value:
None
Accepted values:
Both, Tcp, Udp
Supports wildcards:
False
DontShow:
False
Aliases:
PTCL
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-StartPort
Specifies the start port for the new port rule.
The acceptable values for this parameter are: 0 through 65535.
Parameter properties
Type:
Int32
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
S
Parameter sets
(All)
Position:
0
Mandatory:
True
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
-Timeout
Specifies the timeout in minutes for the new cluster port rule.
The acceptable values for this parameter are: 0 through 240.
Parameter properties
Type:
UInt32
Default value:
None
Supports wildcards:
False
DontShow:
False
Aliases:
T
Parameter sets
(All)
Position:
Named
Mandatory:
False
Value from pipeline:
False
Value from pipeline by property name:
False
Value from remaining arguments:
False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
-InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable,
-ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see
about_CommonParameters.