Set-VMSwitch

Set-VMSwitch

Configures a virtual switch.

Syntax

Parameter Set: SwitchName_SwitchType
Set-VMSwitch [-Name] <String[]> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-SwitchType <VMSwitchType> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SwitchName_NetAdapterInterfaceDescription
Set-VMSwitch [-Name] <String[]> [-NetAdapterInterfaceDescription] <String> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SwitchName_NetAdapterName
Set-VMSwitch [-Name] <String[]> [-NetAdapterName] <String> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SwitchObject_NetAdapterInterfaceDescription
Set-VMSwitch [-VMSwitch] <VMSwitch[]> [-NetAdapterInterfaceDescription] <String> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SwitchObject_NetAdapterName
Set-VMSwitch [-VMSwitch] <VMSwitch[]> [-NetAdapterName] <String> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: SwitchObject_SwitchType
Set-VMSwitch [-VMSwitch] <VMSwitch[]> [-AllowManagementOS <Boolean> ] [-ComputerName <String[]> ] [-DefaultFlowMinimumBandwidthAbsolute <Int64> ] [-DefaultFlowMinimumBandwidthWeight <Int64> ] [-Extensions <VMSwitchExtension[]> ] [-Notes <String> ] [-Passthru] [-SwitchType <VMSwitchType> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-VMSwitch cmdlet configures a virtual switch.

Parameters

-AllowManagementOS<Boolean>

Specifies whether the management operating system can use the physical network adapter that is bound to the external virtual switch.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ComputerName<String[]>

Specifies one or more Hyper-V hosts on which the virtual switch is to be configured. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer — use “localhost” or a dot (“.”) to specify the local computer explicitly.

Aliases

PSComputerName

Required?

false

Position?

named

Default Value

.

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-DefaultFlowMinimumBandwidthAbsolute<Int64>

Specifies the minimum bandwidth, in bits per second, that is allocated to a special category called “default flow.” Any traffic sent by a virtual network adapter that is connected to this virtual switch and does not have minimum bandwidth allocated is filtered into this category. Specify a value for this parameter only if the minimum bandwidth mode on this virtual switch is absolute (See the New-VMSwitch cmdlet). By default, the virtual switch allocates 10% of the total bandwidth, which depends on the physical network adapter it binds to, to this category. For example, if a virtual switch binds to a 1 GbE network adapter, this special category can use at least 100 Mbps. If the value is not a multiple of 8, the value is rounded down to the nearest number that is a multiple of 8. For example, a value input as 1234567 is converted to 1234560.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DefaultFlowMinimumBandwidthWeight<Int64>

Specifies the minimum bandwidth, in relative weight, that is allocated to a special category called “default flow”. Any traffic sent by a virtual network adapter that is connected to this virtual switch and doesn’t have minimum bandwidth allocated is filtered into this category. Specify a value for this parameter only if the minimum bandwidth mode on this virtual switch is weight (See the New-VMSwitch cmdlet). By default, this special category has a weight of 1.

Aliases

none

Required?

false

Position?

named

Default Value

10

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Extensions<VMSwitchExtension[]>

Specifies an ordered list of network extensions used to reorder the bindings on the virtual switch.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String[]>

Specifies the name of the virtual switch to be configured.

Aliases

SwitchName

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Notes<String>

Specifies notes to be associated with the virtual switch.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Passthru

Specifies that a Microsoft.Virtualization.Powershell.EthernetSwitch object is to be passed through to the pipeline representing the virtual switch to be configured.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SwitchType<VMSwitchType>

Converts a virtual switch from one type to another. Allowed values are Internal or Private. You can convert an internal or private virtual switch to an external virtual switch, by including either the NetAdapterInterfaceDescription or NetAdapterName parameter in the command. If you do this, the external virtual switch is configured to allow the management operating system to share access to the physical network adapter. To override this behavior, include AllowManagementOs $false in the command.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMSwitch<VMSwitch[]>

Specifies the virtual switch to be configured.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-NetAdapterInterfaceDescription<String>

Specifies the interface description of the physical network adapter to which an external virtual switch should be bound. If you specify this parameter to convert a virtual switch, the external virtual switch is configured to allow the management operating system to share access to the physical network adapter. To override this behavior, include AllowManagementOs $false in the command

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NetAdapterName<String>

Specifies the name of the physical network adapter to which an external virtual switch should be bound. If you specify this parameter to convert a virtual switch, the external virtual switch is configured to allow the management operating system to share access to the physical network adapter. To override this behavior, include AllowManagementOs $false in the command

Aliases

InterfaceAlias

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

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.

  • None by default; Microsoft.Virtualization.Powershell.EthernetSwitch if –PassThru is specified.

Examples

Example 1

This example converts a virtual switch named WA to an Internal switch.

PS C:\>  Set-VMSwitch WA –SwitchType Internal

Example 2

This example sets the minimum bandwidth allocation to 500Mbps on a virtual switch named CA for all virtual machines without explicit minimum bandwidth configuration.

PS C:\>  Set-VMSwitch CA –DefaultFlowMinimumBandwidthAbsolute 500000000