Set-SmbBandwidthLimit
Set-SmbBandwidthLimit
Adds an SMB bandwidth cap.
Syntax
Parameter Set: Set0
Set-SmbBandwidthLimit -BytesPerSecond <UInt64> -Category <BandwidthLimitCategory> [-AsJob] [-CimSession <CimSession[]> ] [-ThrottleLimit <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]
Detailed 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.
Parameters
-AsJob
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-BytesPerSecond<UInt64>
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.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Category<BandwidthLimitCategory>
Specifies an array of categories of the SMB bandwidth limits to add. The acceptable values for this parameter are:
-- Default
-- VirtualMachine
-- LiveMigration
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-CimSession<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.
Aliases |
Session |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ThrottleLimit<Int32>
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.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Confirm
Prompts you for confirmation before running the cmdlet.
Required? |
false |
Position? |
named |
Default Value |
false |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Required? |
false |
Position? |
named |
Default Value |
false |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
Outputs
The output type is the type of the objects that the cmdlet emits.
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, typeGet-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.
Examples
Example 1: Add an SMB limit
This command limits SMB traffic to 100 megabytes per second for traffic that is unrelated to Hyper-V over SMB or Live Migration.
PS C:\> Set-SmbBandwidthLimit -Category Default -BytesPerSecond 100MB
Example 2:
This command limits SMB traffic to 1 gigabyte per second for Live Migration.
PS C:\> Set-SmbBandwidthLimit -Category LiveMigration -BytesPerSecond 1GB