Table of contents
TLS
TOC
Collapse the table of content
Expand the table of content

Enable-NetQosFlowControl

Last Updated: 3/8/2017

SYNOPSIS

Enables link level flow control based on the IEEE 802.1p priority.

SYNTAX

ByIfAlias (Default)

Enable-NetQosFlowControl [[-Priority] <Byte[]>] [[-InterfaceAlias] <String>] [-PassThru]
 [-CimSession <CimSession[]>] [-ThrottleLimit <Int32>] [-AsJob] [-WhatIf] [-Confirm] [<CommonParameters>]

ByIfIndex

Enable-NetQosFlowControl [[-Priority] <Byte[]>] [[-InterfaceIndex] <UInt32>] [-PassThru]
 [-CimSession <CimSession[]>] [-ThrottleLimit <Int32>] [-AsJob] [-WhatIf] [-Confirm] [<CommonParameters>]

InputObject (cdxml)

Enable-NetQosFlowControl -InputObject <CimInstance[]> [-PassThru] [-CimSession <CimSession[]>]
 [-ThrottleLimit <Int32>] [-AsJob] [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

The Enable-NetQosFlowControl cmdlet enables priority-based flow control (PFC) in Windows Server® 2012 and later. PFC is part of the IEEE data center bridging (DCB) standard. If Windows Server 2012 or later is configured to be not willing to accept configurations from a remote device, Windows Server 2012 or later programs DCB capable NICs, which enables PFC at the link level.

For more information about remote device configurations, see the Set-NetQosDcbxSetting cmdlet.

Enabling flow control on both ends of a link reduces the chance of packet loss because of link congestion. Some upper layer protocol even assumes a lossless underlying protocol. In such case, make sure that you enable flow control. PFC makes it possible to enable flow control just for one type of traffic, denoted by the IEEE 802.1p priority. It is very important to have consistent PFC settings on both ends of the link. A mis-matched configuration is equivalent to not having flow control at all.

EXAMPLES

Example 1: Enable flow control for traffic by priority

PS C:\> Enable-NetQosFlowControl -Priority 3,6

This command enables flow control on traffic tagged with priority 3 and priority 6.

PARAMETERS

-AsJob

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

The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet.

For more information about Windows PowerShell background jobs, see about_Jobs.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: 

Required: False
Position: Named
Default value: None
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[]
Parameter Sets: (All)
Aliases: Session

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

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: 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[]
Parameter Sets: InputObject (cdxml)
Aliases: 

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-InterfaceAlias

Type: String
Parameter Sets: ByIfAlias
Aliases: IfAlias

Required: False
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-InterfaceIndex

Type: UInt32
Parameter Sets: ByIfIndex
Aliases: IfIndex

Required: False
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PassThru

Type: SwitchParameter
Parameter Sets: (All)
Aliases: 

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

-Priority

Type: Byte[]
Parameter Sets: ByIfAlias, ByIfIndex
Aliases: 

Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ThrottleLimit

Type: Int32
Parameter Sets: (All)
Aliases: 

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

-WhatIf

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

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

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

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2/MSFT_NetQosFlowControlSettingData[]

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. You can pipe a MSFT_NetQosFlowControlSettingData object that contains the follow control setting per priority to this cmdlet.

OUTPUTS

Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2/MSFT_NetQosFlowControlSettingData

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. This cmdlet returns a MSFT_NetQosFlowControlSettingData object that contains flow control settings per priority. Only if you specify the PassThru parameter does this cmdlet return the MSFT_NetQosFlowControlSettingData object.

NOTES

Disable-NetQosFlowControl

Get-NetQosFlowControl

Set-NetQosDcbxSetting

Set-NetQosFlowControl

© 2017 Microsoft