Set-SmbBandwidthLimit

Adds an SMB bandwidth cap.

Syntax

Default (Default)

Set-SmbBandwidthLimit
    -Category <BandwidthLimitCategory>
    -BytesPerSecond <UInt64>
    [-CimSession <CimSession[]>]
    [-ThrottleLimit <Int32>]
    [-AsJob]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

The Set-SmbBandwidthLimit cmdlet adds a Server Message Block (SMB) bandwidth cap for the traffic categories that you specify. SMB bandwidth caps limit the amount of data that the server can send for each traffic category.

Examples

Example 1: Add an SMB limit

PS C:\> Set-SmbBandwidthLimit -Category Default -BytesPerSecond 100MB

This command limits SMB traffic to 100 megabytes per second for traffic that is unrelated to Hyper-V over SMB or Live Migration.

Example 2: Add an SMB limit for live migration

PS C:\> Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 1GB

This command limits SMB traffic to 1 gigabyte per second for Live Migration.

Parameters

-AsJob

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

Parameter properties

Type:SwitchParameter
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

-BytesPerSecond

Specifies the maximum number of bytes per second that the server can send for the traffic categories that you specify. You can specify units after the number of bytes, such as KB, MB, and GB. You cannot specify a value smaller than 1MB (1048576 bytes) for this parameter.

Parameter properties

Type:UInt64
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Category

Specifies an array of categories of the SMB bandwidth limits to add. The acceptable values for this parameter are:

  • Default
  • VirtualMachine
  • LiveMigration
  • StorageReplication

Parameter properties

Type:BandwidthLimitCategory
Default value:None
Accepted values:Default, VirtualMachine, LiveMigration, StorageReplication
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments: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.

Parameter properties

Type:

CimSession[]

Default value:None
Supports wildcards:False
DontShow:False
Aliases:Session

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:cf

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments: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.

Parameter properties

Type:Int32
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

-WhatIf

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

Parameter properties

Type:SwitchParameter
Default value:False
Supports wildcards:False
DontShow:False
Aliases:wi

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.

Notes

  • Before you can use this cmdlet, you must enable the feature by using the following command: Add-WindowsFeature -Name FS-SMBBW For more information, type Get-Help Install-WindowsFeature. When you enable the feature, the SMB server creates a new SMB performance counter set that has an instance per category. The performance counters in this set use the same counters as the SMB Client Shares performance counters.