Set-VMNetworkAdapter

Set-VMNetworkAdapter

Configures features of the virtual network adapter in a virtual machine or the management operating system.

Syntax

Parameter Set: ManagementOS
Set-VMNetworkAdapter -ManagementOS [-AllowTeaming <OnOffState> ] [-ComputerName <String[]> ] [-DhcpGuard <OnOffState> ] [-IeeePriorityTag <OnOffState> ] [-IovInterruptModeration <IovInterruptModerationValue> ] [-IovQueuePairsRequested <UInt32> ] [-IovWeight <UInt32> ] [-IPsecOffloadMaximumSecurityAssociation <UInt32> ] [-MacAddressSpoofing <OnOffState> ] [-MandatoryFeatureId <String[]> ] [-MaximumBandwidth <Int64> ] [-MinimumBandwidthAbsolute <Int64> ] [-MinimumBandwidthWeight <UInt32> ] [-Name <String> ] [-Passthru] [-PortMirroring <VMNetworkAdapterPortMirroringMode> ] [-ResourcePoolName <String> ] [-RouterGuard <OnOffState> ] [-TestReplicaPoolName <String> ] [-TestReplicaSwitchName <String> ] [-VirtualSubnetId <UInt32> ] [-VMNetworkAdapterName <String> ] [-VmqWeight <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ResourceObject
Set-VMNetworkAdapter [-VMNetworkAdapter] <VMNetworkAdapterBase> [-AllowTeaming <OnOffState> ] [-DhcpGuard <OnOffState> ] [-DynamicMacAddress] [-IeeePriorityTag <OnOffState> ] [-IovInterruptModeration <IovInterruptModerationValue> ] [-IovQueuePairsRequested <UInt32> ] [-IovWeight <UInt32> ] [-IPsecOffloadMaximumSecurityAssociation <UInt32> ] [-MacAddressSpoofing <OnOffState> ] [-MandatoryFeatureId <String[]> ] [-MaximumBandwidth <Int64> ] [-MinimumBandwidthAbsolute <Int64> ] [-MinimumBandwidthWeight <UInt32> ] [-Passthru] [-PortMirroring <VMNetworkAdapterPortMirroringMode> ] [-ResourcePoolName <String> ] [-RouterGuard <OnOffState> ] [-StaticMacAddress <String> ] [-TestReplicaPoolName <String> ] [-TestReplicaSwitchName <String> ] [-VirtualSubnetId <UInt32> ] [-VmqWeight <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMName
Set-VMNetworkAdapter [-VMName] <String> [-AllowTeaming <OnOffState> ] [-ComputerName <String[]> ] [-DhcpGuard <OnOffState> ] [-DynamicMacAddress] [-IeeePriorityTag <OnOffState> ] [-IovInterruptModeration <IovInterruptModerationValue> ] [-IovQueuePairsRequested <UInt32> ] [-IovWeight <UInt32> ] [-IPsecOffloadMaximumSecurityAssociation <UInt32> ] [-MacAddressSpoofing <OnOffState> ] [-MandatoryFeatureId <String[]> ] [-MaximumBandwidth <Int64> ] [-MinimumBandwidthAbsolute <Int64> ] [-MinimumBandwidthWeight <UInt32> ] [-Name <String> ] [-Passthru] [-PortMirroring <VMNetworkAdapterPortMirroringMode> ] [-ResourcePoolName <String> ] [-RouterGuard <OnOffState> ] [-StaticMacAddress <String> ] [-TestReplicaPoolName <String> ] [-TestReplicaSwitchName <String> ] [-VirtualSubnetId <UInt32> ] [-VMNetworkAdapterName <String> ] [-VmqWeight <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMObject
Set-VMNetworkAdapter [-VM] <VirtualMachine> [-AllowTeaming <OnOffState> ] [-DhcpGuard <OnOffState> ] [-DynamicMacAddress] [-IeeePriorityTag <OnOffState> ] [-IovInterruptModeration <IovInterruptModerationValue> ] [-IovQueuePairsRequested <UInt32> ] [-IovWeight <UInt32> ] [-IPsecOffloadMaximumSecurityAssociation <UInt32> ] [-MacAddressSpoofing <OnOffState> ] [-MandatoryFeatureId <String[]> ] [-MaximumBandwidth <Int64> ] [-MinimumBandwidthAbsolute <Int64> ] [-MinimumBandwidthWeight <UInt32> ] [-Name <String> ] [-Passthru] [-PortMirroring <VMNetworkAdapterPortMirroringMode> ] [-ResourcePoolName <String> ] [-RouterGuard <OnOffState> ] [-StaticMacAddress <String> ] [-TestReplicaPoolName <String> ] [-TestReplicaSwitchName <String> ] [-VirtualSubnetId <UInt32> ] [-VMNetworkAdapterName <String> ] [-VmqWeight <UInt32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-VMNetworkAdapter cmdlet configures features of the virtual network adapter in a virtual machine or the management operating system.

Parameters

-ComputerName<String[]>

Specifies one or more Hyper-V hosts on which features of the network adapter are 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

none

Required?

false

Position?

named

Default Value

.

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DhcpGuard<OnOffState>

Specifies whether to drop DHCP messages from a virtual machine claiming to be a DHCP server. Allowed values are On, which drops DHCP messages because the virtualized DHCP server is considered untrusted) or Off, which allows the message to be received because the virtualized DHCP server is considered to be trustworthy.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DynamicMacAddress

Assigns a dynamically generated MAC address to the virtual network adapter..

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPsecOffloadMaximumSecurityAssociation<UInt32>

Specifies the maximum number of security associations that can be offloaded to the physical network adapter that is bound to the virtual switch and that supports IPSec Task Offload. Specify zero to disable the feature.

Aliases

none

Required?

false

Position?

named

Default Value

0

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IeeePriorityTag<OnOffState>

Specifies whether IEEE 802.1p tagged packets from the virtual machine should be trusted. The value should be either On (trusted) or Off (not trusted). If it is on, the IEEE 802.1p tagged packets will be let go as is. If it is off, the priority value is reset to 0.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IovInterruptModeration<IovInterruptModerationValue>

Specifies the interrupt moderation value for a single-root I/O virtualization (SR-IOV) virtual function assigned to a virtual network adapter. Allowed values are Default, Adaptive, Off, Low, Medium, and High. If Default is chosen, the value is determined by the physical network adapter vendor’s setting. If Adaptive is chosen, the interrupt moderation rate will be based on the runtime traffic pattern.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IovWeight<UInt32>

Specifies whether single-root I/O virtualization (SR-IOV) is to be enabled on this virtual network adapter. The relative weight sets the affinity of the virtual network adapter to the assigned SR-IOV virtual function. The range of the value is from 0 through 100. Specify 0 to disable SR-IOV on the virtual network adapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MacAddressSpoofing<OnOffState>

Specifies whether virtual machines may change the source MAC address in outgoing packets to one not assigned to them. Allowed values are On (allowing the virtual machine to use a different MAC address) and Off (allowing the virtual machine to use only the MAC address assigned to it).

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ManagementOS

Specifies the virtual network adapter in the management operating system to be configured.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MandatoryFeatureId<String[]>

Specifies the unique identifiers of the virtual switch extension features that are required for this virtual network adapter to operate.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MaximumBandwidth<Int64>

Specifies the maximum bandwidth, in bits per second, for the virtual network adapter. The specified value is rounded to the nearest multiple of eight. Specify zero to disable the feature.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MinimumBandwidthAbsolute<Int64>

Specifies the minimum bandwidth, in bits per second, for the virtual network adapter. The specified value is rounded to the nearest multiple of eight. A value larger than 100 Mbps is recommended.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MinimumBandwidthWeight<UInt32>

Specifies the minimum bandwidth, in terms of relative weight, for the virtual network adapter. The weight describes how much bandwidth to provide to the virtual network adapter relative to other virtual network adapters connected to the same virtual switch. The range of the value is from 0 through 100. Specify 0 to disable the feature.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String>

Aliases

VMNetworkAdapterName

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Passthru

Specifies that an object is to be passed through to the pipeline representing the virtual network adapter to be configured. This is a Microsoft.Virtualization.PowerShell.VMInternalNetworkAdapter object, if ManagementOS is specified; or a Microsoft.Virtualization.PowerShell.VMNetworkAdapter object otherwise.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PortMirroring<VMNetworkAdapterPortMirroringMode>

Specifies the port mirroring mode for the network adapter to be configured. Allowed values are None, Source, and Destination. If a virtual network adapter is configured as Source, every packet it sends or receives is copied and forwarded to a virtual network adapter configured to receive the packets. If a virtual network adapter is configured as Destination, it receives copied packets from the source virtual network adapter. The source and destination virtual network adapters must be connected to the same virtual switch. Specify None to disable the feature.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ResourcePoolName<String>

Specifies the name of the resource pool.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RouterGuard<OnOffState>

Specifies whether to drop Router Advertisement and Redirection messages from unauthorized virtual machines. The value can be either On or Off. If On is specified, such messages are dropped. If Off is specified, such messages are sent.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StaticMacAddress<String>

Assigns a specific a MAC addresss to the virtual network adapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VirtualMachine>

Specifies the virtual machine that has the virtual network you want to configure.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMName<String>

Specifies the name of the virtual machine that has the virtual network adapteryou want to configure.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMNetworkAdapter<VMNetworkAdapterBase>

Specifies the virtual network adapter.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMNetworkAdapterName<String>

Specifies the name of the virtual network adapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VmqWeight<UInt32>

Specifies whether virtual machine queue (VMQ) is to be enabled on the virtual network adapter. . The relative weight describes the affinity of the virtual network adapter to use VMQ. The range of value is from 0 through 100. Specify 0 to disable VMQ on the virtual network adapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TestReplicaPoolName<String>

This parameter applies only to virtual machines that are enabled for replication. It specifies the name of the network resource pool that will be used by this virtual network adapter when its virtual machine is created during a test failover.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TestReplicaSwitchName<String>

This parameter applies only to virtual machines that are enabled for replication. It specifies the name of the virtual switch to which the virtual network adapter should be connected when its virtual machine is created during a test failover.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AllowTeaming<OnOffState>

Specifies whether the virtual network adapter can be teamed with other network adapters connected to the same virtual switch. The value can be On (allowed) or Off (disallowed).

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IovQueuePairsRequested<UInt32>

Specifies the number of hardware queue pairs to be allocated to an SR-IOV virtual function. If receive-side scaling (RSS) is required, and if the physical network adapter that binds to the virtual switch supports RSS on SR-IOV virtual functions, then more than one queue pair is required. Allowed values range from 1 to 4294967295.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VirtualSubnetId<UInt32>

Specifies the virtual subnet ID to use with Hyper-V Network Virtualization. Allowed values range from 4096 to 16777215 (2^24 - 1), in addition to 0. Use 0 to clear this parameter.

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.

  • None by default. If –PassThru is specified, then a Microsoft.Virtualization.Powershell.VMInternalNetworkAdapter is passed through to the pipeline if -ManagementOS is also specified, otherwise Microsoft.Virtualization.Powershell.VMNetworkAdapter.

Examples

Example 1

This example enables DHCP Guard on all the virtual network adapters of virtual machine Redmond. When DHCP Guard enabled, if virtual machine Redmond replies to requests from DHCP clients, these replies are dropped.

PS C:\> Set-VMNetworkAdapter -VMName Redmond -DhcpGuard On

Example 2

This example enables port mirroring for all virtual network adapters on virtual machine Kirkland. When port mirroring is enabled, every packet sent or received by this virtual machine is copied and sent to a monitoring virtual machine.

PS C:\> Set-VMNetworkAdapter -VMName Kirkland –PortMirroring Source

Example 3

This example configures the virtual network adapter named PM_Dest as the destination for port mirroring, which configures the virtual machine named Bellevue to monitor network traffic. That is, a copy of every packet sent or received by a monitored virtual machine connected to the same virtual switch is sent to virtual machine Bellevue through virtual network adapter PM_Dest.

PS C:\> Set-VMNetworkAdapter -VMName Bellevue –Name PM_Dest –PortMirroring Destination

Example 4

This example enables VMQ and sets a weight of 100 on every virtual network adapter on the local host.

PS C:\> Get-VMNetworkAdapter –All | Set-VMNetworkAdapter –VmqWeight 100

Example 5

This example configures NIC Teaming for all virtual network adapters of the virtual machine named Redmond.

PS C:\> Get-VM Redmond | Set-VMNetworkAdapter –AllowTeaming On

Example 6

This example sets the same minimum bandwidth weight for all virtual network adapters of three virtual machines: Redmond, Kirkland, and Bellevue. This configuration shares bandwidth equally among all of the virtual network adapters of these virtual machines.

PS C:\> Get-VMNetworkAdapter -VMName Redmond,Kirkland,Bellevue | Set-VMNetworkAdapter -MinimumBandwidthWeight 1