Set-NetTCPSetting
Modifies TCP settings and configuration.
Syntax
Set-NetTCPSetting
[[-SettingName] <String[]>]
[-AsJob]
[-AutoTuningLevelLocal <AutoTuningLevelLocal>]
[-CimSession <CimSession[]>]
[-CongestionProvider <CongestionProvider>]
[-CwndRestart <CwndRestart>]
[-DelayedAckTimeoutMs <UInt32>]
[-DynamicPortRangeNumberOfPorts <UInt16>]
[-DynamicPortRangeStartPort <UInt16>]
[-EcnCapability <EcnCapability>]
[-InitialCongestionWindowMss <UInt32>]
[-InitialRtoMs <UInt32>]
[-MemoryPressureProtection <MemoryPressureProtection>]
[-MinRtoMs <UInt32>]
[-PassThru]
[-ScalingHeuristics <ScalingHeuristics>]
[-ThrottleLimit <Int32>]
[-Timestamps <Timestamps>]
[-Confirm]
[-WhatIf]
Set-NetTCPSetting
[-AsJob]
[-AutoTuningLevelLocal <AutoTuningLevelLocal>]
[-CimSession <CimSession[]>]
[-CongestionProvider <CongestionProvider>]
[-CwndRestart <CwndRestart>]
[-DelayedAckTimeoutMs <UInt32>]
[-DynamicPortRangeNumberOfPorts <UInt16>]
[-DynamicPortRangeStartPort <UInt16>]
[-EcnCapability <EcnCapability>]
[-InitialCongestionWindowMss <UInt32>]
[-InitialRtoMs <UInt32>]
[-MemoryPressureProtection <MemoryPressureProtection>]
[-MinRtoMs <UInt32>]
[-PassThru]
[-ScalingHeuristics <ScalingHeuristics>]
[-ThrottleLimit <Int32>]
[-Timestamps <Timestamps>]
-InputObject <CimInstance[]>
[-Confirm]
[-WhatIf]
Description
The Set-NetTCPSetting cmdlet modifies information for each TCP setting. There will be different connection characteristics when connecting over a wide area network and within a data center. Thus each TCP setting is optimized for different network conditions including latency and congestion. The only modifiable TCP SettingName is Custom. To apply a TCP setting to a specific port number or destination IP address range, use the New-NetTransportFilter cmdlet.
Examples
EXAMPLE 1
PS C:\>Set-NetTCPSetting -SettingName Custom -InitialCongestionWindow 6 -CongestionProvider CTCP
This example sets the custom TCP setting to have a larger initial congestion window and use compound TCP.
Parameters
-AsJob
ps_cimcommon_asjob
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AutoTuningLevelLocal
Modifies the AutoTuningLevelLocal property. TCP auto-tuning improves throughput on high throughput, high latency networks. This parameter value determines the setting of the TCP auto-tuning level that is locally configured. The acceptable values for this parameter are:
-- Disabled: Sets the TCP receive window at the default value.
-- HighlyRestricted: Sets TCP to allow the receive window to grow beyond the default value, but does so very conservatively.
-- Restricted: Sets TCP to allow the receive window to grow beyond the default value, but does so less conservatively.
-- Normal: Sets TCP to allow the receive window to grow to accommodate almost all scenarios.
-- Experimental: Sets TCP to allow the receive window to grow to accommodate extreme scenarios.
Type: | AutoTuningLevelLocal |
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-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227967 or Get-CimSessionhttp://go.microsoft.com/fwlink/p/?LinkId=227966 cmdlet. The default is the current session on the local computer.
Type: | CimSession[] |
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 |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CongestionProvider
Modifies the CongestionProvider property used by TCP. The acceptable values for this parameter are:
-- Default: Sets the TCP stack to its default setting. Servers use DCTCP by default. Clients use NewReno as defined in RFC 3782http://www.ietf.org/rfc/rfc3782.txt.
-- CTCP: Sets the TCP stack to use Compound TCP, which increases the receive window and amount of data sent. This may improve throughput on higher latency connections.
-- DCTCP: Sets the TCP stack to use Datacenter TCP, which adjusts the TCP window size based on network congestion feedback based on ECN signaling. This may improve throughput on low latency links.
Type: | CongestionProvider |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CwndRestart
Specifies the enabled state of the cwnd restart. This parameter value determines whether congestion window is restarted and can avoid slow start to optimize throughput on low latency networks. This is described in RFC 2581http://go.microsoft.com/fwlink/p/?LinkId=95127.
-- False: Sets the TCP stack to use its default setting.
-- True: Sets the TCP stack to use cwnd restart.
Type: | CwndRestart |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DelayedAckTimeoutMs
Modifies the DelayedAckTimeoutMs property. This parameter value controls the timeout, in milliseconds, for sending an ACK when less than delackfrequency packets are received. Reducing this time will potentially benefit throughput on low latency networks by accelerating growth in TCP window size. The acceptable values for this parameter are: 10 through 600 milliseconds. This parameter must be specified in increments of 10 milliseconds.
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DynamicPortRangeNumberOfPorts
Modifies the DynamicPortRangeNumberOfPorts property. This parameter value specifies the number of ports for the dynamic port range starting from the DynamicPortRangeStartPort parameter.
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DynamicPortRangeStartPort
Modifies the DynamicPortRangeStartPort property. This parameter value specifies the starting port to send TCP traffic. The acceptable values for this parameter are: 1 through 65535.
Type: | UInt16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EcnCapability
Specifies the enabled state of the ECN capability. If the NetIPInterface setting of ECNMarking is disabled or has a static setting configured to UseECT0 or UseEct1, then this setting will not have an effect. The acceptable values for this parameter are:
-- Enabled: The TCP setting can use the ECN Capability.
-- Disabled: The TCP setting cannot use the ECN Capability.
Type: | EcnCapability |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InitialCongestionWindowMss
Modifies the InitialCongestionWindowMss property. This parameter value determines the initial congestion window in Maximum Segment Size (MSS). The acceptable values for this parameter are: 2 through 64 MSS. This parameter value must be an even number.
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InitialRtoMs
Modifies the InitialRtoMs property. This parameter value determines the connect (SYN) retransmit timeout, in milliseconds. The acceptable values for this parameter are: 300 through 3000 milliseconds. This parameter must be specified in increments of 10 milliseconds.
The default value is 3000.
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.
Type: | CimInstance[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MemoryPressureProtection
Modifies the MemoryPressureProtection property. TCP memory pressure protection ensures the computer can continue normal operation when in low on memory due to DoS attacks. When enabled, in low memory, and a DoS attack is in progress, this parameter value will kill the existing TCP connections and drop incoming SYN requests. Enabled by default on servers and Disabled by default on clients. The acceptable values for this parameter are:
-- Disabled: Turns off TCP memory pressure protection.
-- Enabled: Turns on TCP memory pressure protection.
-- Default: Restores the TCP memory pressure protection property to computer defaults.
Type: | MemoryPressureProtection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MinRtoMs
Modifies the MinRtoMs property. This parameter value determines the TCP retransmission timeout, in milliseconds. The acceptable values for this parameter are: 20 through 300 milliseconds. This parameter must be specified in increments of 10 milliseconds.
Type: | UInt32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
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 |
-ScalingHeuristics
Specifies the enabled state of the scaling heuristics setting. The acceptable values for this parameter are:
-- Disabled: The TCP setting cannot use scaling heuristics.
-- Enabled: The TCP setting uses scaling heuristics.
Type: | ScalingHeuristics |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SettingName
Specifies TCP setting information for a specific setting name. The only setting name that may be defined by an administrator is Custom.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
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 |
-Timestamps
Specifies the enabled state of the RFC 1323http://www.ietf.org/rfc/rfc1323.txt TCP timestamps. RFC 1323http://go.microsoft.com/fwlink/p/?LinkId=84406 timestamps can help with round trip measurement and protection against wrapped sequence numbers on high throughput links. The acceptable values for this parameter are:
-- Disabled: The TCP setting does not use the RFC 1323http://go.microsoft.com/fwlink/p/?LinkId=84406 timestamps. This is the default.
-- Enabled: The TCP setting uses the RFC 1323http://go.microsoft.com/fwlink/p/?LinkId=84406 timestamps.
Type: | Timestamps |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
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.
Outputs
None