New-NetQosTrafficClass

Creates a traffic class.

Syntax

New-NetQosTrafficClass
   [-Name] <String>
   [-Algorithm] <Algorithm>
   [-BandwidthPercentage <Byte>]
   [-Priority] <Byte[]>
   [-InterfaceAlias <String>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-NetQosTrafficClass
   [-Name] <String>
   [-Algorithm] <Algorithm>
   [-BandwidthPercentage <Byte>]
   [-Priority] <Byte[]>
   [-InterfaceIndex <UInt32>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

This New-NetQosTrafficClass cmdlet creates a traffic class. Traffic class is specified in the enhanced transmission selection (ETS) specification in the IEEE data center bridging (DCB) standard. In creating a traffic class, the user specifies which types of traffic, differentiated by the IEEE 802.1p priority, are mapped to the traffic class, what transmission algorithm it uses, and how much bandwidth it gets. If Windows ServerĀ® 2012 or later is set to be not willing to accept DCB configurations from a remote device, then Windows Server 2012 or later programs DCB capable network adapters to add this new traffic class.

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

There is a default traffic class created by Windows Server 2012 or later. All 8 priorities are mapped to this default traffic class, which selects ETS as its transmission algorithm and has all of the total bandwidth. Users cannot delete the default traffic class. Since a traffic class must have at least one type of traffic mapped to it and there are 8 or less types of such traffic, which is limited by IEEE 802.1p, only 7 additional traffic classes can be created.

In reality, a network adapter that supports DCB may support less than 8 traffic classes. If there are more traffic classes configured in Windows Server 2012 or later than what a network adapter can support, then Windows Server 2012 or later will not send the configurations to the network adapter.

Examples

Example 1: Create a traffic class

PS C:\> New-NetQosTrafficClass -Name "SMB" -Priority 3 -Algorithm ETS -BandwidthPercentage 60

Name                      Algorithm Bandwidth(%) Priority 
----                      --------- ------------ -------- 
SMB                       ETS       60           3

This command creates a traffic class for traffic tagged with the 802.1p value of 3. This traffic class, named as SMB, has 60 percent of the bandwidth.

Parameters

-Algorithm

Type:Algorithm
Aliases:tsa
Accepted values:Strict, ETS
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-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
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BandwidthPercentage

Type:Byte
Aliases:Bandwidth, bw
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

-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

-InterfaceAlias

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

-InterfaceIndex

Type:UInt32
Aliases:IfIndex
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

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

-Priority

Type:Byte[]
Aliases:p, pri
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Type:Int32
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
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

UInt32

Outputs

Object