Set-VMNetworkAdapter

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

Syntax

Set-VMNetworkAdapter
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-VMName] <String>
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-MacAddressSpoofing <OnOffState>]
   [-DhcpGuard <OnOffState>]
   [-RouterGuard <OnOffState>]
   [-PortMirroring <VMNetworkAdapterPortMirroringMode>]
   [-IeeePriorityTag <OnOffState>]
   [-VmqWeight <UInt32>]
   [-IovQueuePairsRequested <UInt32>]
   [-IovInterruptModeration <IovInterruptModerationValue>]
   [-IovWeight <UInt32>]
   [-IPsecOffloadMaximumSecurityAssociation <UInt32>]
   [-MaximumBandwidth <Int64>]
   [-MinimumBandwidthAbsolute <Int64>]
   [-MinimumBandwidthWeight <UInt32>]
   [-MandatoryFeatureId <String[]>]
   [-ResourcePoolName <String>]
   [-TestReplicaPoolName <String>]
   [-TestReplicaSwitchName <String>]
   [-VirtualSubnetId <UInt32>]
   [-AllowTeaming <OnOffState>]
   [-NotMonitoredInCluster <Boolean>]
   [-StormLimit <UInt32>]
   [-DynamicIPAddressLimit <UInt32>]
   [-DeviceNaming <OnOffState>]
   [-FixSpeed10G <OnOffState>]
   [-PacketDirectNumProcs <UInt32>]
   [-PacketDirectModerationCount <UInt32>]
   [-PacketDirectModerationInterval <UInt32>]
   [-VrssEnabled <Boolean>]
   [-VmmqEnabled <Boolean>]
   [-VmmqQueuePairs <UInt32>]
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-VMNetworkAdapter
   [-ManagementOS]
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Name <String>]
   [-MacAddressSpoofing <OnOffState>]
   [-DhcpGuard <OnOffState>]
   [-RouterGuard <OnOffState>]
   [-PortMirroring <VMNetworkAdapterPortMirroringMode>]
   [-IeeePriorityTag <OnOffState>]
   [-VmqWeight <UInt32>]
   [-IovQueuePairsRequested <UInt32>]
   [-IovInterruptModeration <IovInterruptModerationValue>]
   [-IovWeight <UInt32>]
   [-IPsecOffloadMaximumSecurityAssociation <UInt32>]
   [-MaximumBandwidth <Int64>]
   [-MinimumBandwidthAbsolute <Int64>]
   [-MinimumBandwidthWeight <UInt32>]
   [-MandatoryFeatureId <String[]>]
   [-ResourcePoolName <String>]
   [-TestReplicaPoolName <String>]
   [-TestReplicaSwitchName <String>]
   [-VirtualSubnetId <UInt32>]
   [-AllowTeaming <OnOffState>]
   [-NotMonitoredInCluster <Boolean>]
   [-StormLimit <UInt32>]
   [-DynamicIPAddressLimit <UInt32>]
   [-DeviceNaming <OnOffState>]
   [-FixSpeed10G <OnOffState>]
   [-PacketDirectNumProcs <UInt32>]
   [-PacketDirectModerationCount <UInt32>]
   [-PacketDirectModerationInterval <UInt32>]
   [-VrssEnabled <Boolean>]
   [-VmmqEnabled <Boolean>]
   [-VmmqQueuePairs <UInt32>]
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-VMNetworkAdapter
   [-VMNetworkAdapter] <VMNetworkAdapterBase>
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-MacAddressSpoofing <OnOffState>]
   [-DhcpGuard <OnOffState>]
   [-RouterGuard <OnOffState>]
   [-PortMirroring <VMNetworkAdapterPortMirroringMode>]
   [-IeeePriorityTag <OnOffState>]
   [-VmqWeight <UInt32>]
   [-IovQueuePairsRequested <UInt32>]
   [-IovInterruptModeration <IovInterruptModerationValue>]
   [-IovWeight <UInt32>]
   [-IPsecOffloadMaximumSecurityAssociation <UInt32>]
   [-MaximumBandwidth <Int64>]
   [-MinimumBandwidthAbsolute <Int64>]
   [-MinimumBandwidthWeight <UInt32>]
   [-MandatoryFeatureId <String[]>]
   [-ResourcePoolName <String>]
   [-TestReplicaPoolName <String>]
   [-TestReplicaSwitchName <String>]
   [-VirtualSubnetId <UInt32>]
   [-AllowTeaming <OnOffState>]
   [-NotMonitoredInCluster <Boolean>]
   [-StormLimit <UInt32>]
   [-DynamicIPAddressLimit <UInt32>]
   [-DeviceNaming <OnOffState>]
   [-FixSpeed10G <OnOffState>]
   [-PacketDirectNumProcs <UInt32>]
   [-PacketDirectModerationCount <UInt32>]
   [-PacketDirectModerationInterval <UInt32>]
   [-VrssEnabled <Boolean>]
   [-VmmqEnabled <Boolean>]
   [-VmmqQueuePairs <UInt32>]
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-VMNetworkAdapter
   [-VM] <VirtualMachine>
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-MacAddressSpoofing <OnOffState>]
   [-DhcpGuard <OnOffState>]
   [-RouterGuard <OnOffState>]
   [-PortMirroring <VMNetworkAdapterPortMirroringMode>]
   [-IeeePriorityTag <OnOffState>]
   [-VmqWeight <UInt32>]
   [-IovQueuePairsRequested <UInt32>]
   [-IovInterruptModeration <IovInterruptModerationValue>]
   [-IovWeight <UInt32>]
   [-IPsecOffloadMaximumSecurityAssociation <UInt32>]
   [-MaximumBandwidth <Int64>]
   [-MinimumBandwidthAbsolute <Int64>]
   [-MinimumBandwidthWeight <UInt32>]
   [-MandatoryFeatureId <String[]>]
   [-ResourcePoolName <String>]
   [-TestReplicaPoolName <String>]
   [-TestReplicaSwitchName <String>]
   [-VirtualSubnetId <UInt32>]
   [-AllowTeaming <OnOffState>]
   [-NotMonitoredInCluster <Boolean>]
   [-StormLimit <UInt32>]
   [-DynamicIPAddressLimit <UInt32>]
   [-DeviceNaming <OnOffState>]
   [-FixSpeed10G <OnOffState>]
   [-PacketDirectNumProcs <UInt32>]
   [-PacketDirectModerationCount <UInt32>]
   [-PacketDirectModerationInterval <UInt32>]
   [-VrssEnabled <Boolean>]
   [-VmmqEnabled <Boolean>]
   [-VmmqQueuePairs <UInt32>]
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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

Examples

Example 1

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

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.

Example 2

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

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.

Example 3

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

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.

Example 4

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

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

Example 5

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

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

Example 6

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

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.

Parameters

-AllowTeaming

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).

Type:OnOffState
Accepted values:On, Off
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[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

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.

Type:String[]
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

-Credential

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

Type:PSCredential[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeviceNaming

Specifies whether this adapter uses device naming.

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DhcpGuard

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.

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicIPAddressLimit

Specifies the dynamic IP address limit, an integer.

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

-DynamicMacAddress

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FixSpeed10G

Specifies whether the adapter uses fix speed of 10G.

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IeeePriorityTag

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.

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IovInterruptModeration

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.

Type:IovInterruptModerationValue
Accepted values:Default, Adaptive, Off, Low, Medium, High
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IovQueuePairsRequested

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.

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

-IovWeight

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.

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

-IPsecOffloadMaximumSecurityAssociation

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.

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

-MacAddressSpoofing

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).

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagementOS

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

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MandatoryFeatureId

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumBandwidth

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.

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumBandwidthAbsolute

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.

Type:Int64
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MinimumBandwidthWeight

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.

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

-Name

Specifies the name for the virtual network adapter. The cmdlet changes the name to the value that you specify.

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

-NotMonitoredInCluster

Indicates whether to not monitor the network adapter if the virtual machine that it belongs to is part of a cluster. By default, network adapters for clustered virtual machines are monitored.

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PacketDirectModerationCount

Specifies the number of packets to wait for before signaling an interrupt.

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

-PacketDirectModerationInterval

Specifies the amount of time, in milliseconds, to wait before signaling an interrupt after a packet arrives.

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

-PacketDirectNumProcs

Specifies the number of processors to use for virtual switch processing inside of the host.

Type:UInt32
Position:Named
Default value:None
Required:False
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.HyperV.PowerShell.VMInternalNetworkAdapter object, if ManagementOS is specified; or a Microsoft.HyperV.PowerShell.VMNetworkAdapter object otherwise.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PortMirroring

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.

Type:VMNetworkAdapterPortMirroringMode
Accepted values:None, Destination, Source
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourcePoolName

Specifies the name of the resource pool.

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

-RouterGuard

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.

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StaticMacAddress

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

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

-StormLimit

Specifies the number of broadcast, multicast, and unknown unicast packets per second a virtual machine is allowed to send through the specified virtual network adapter. Broadcast, multicast, and unknown unicast packets beyond the limit during that one second interval are dropped. A value of zero (0) means there is no limit.

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

-TestReplicaPoolName

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.

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

-TestReplicaSwitchName

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.

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

-VirtualSubnetId

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.

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

-VM

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

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

-VmmqEnabled

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VmmqQueuePairs

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

-VMName

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

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

-VMNetworkAdapter

Specifies the virtual network adapter.

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

-VmqWeight

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.

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

-VrssEnabled

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

Outputs

None by default. if PassThru is specified, then a Microsoft.HyperV.PowerShell.VMInternalNetworkAdapter is passed through to the pipeline if -ManagementOS is also specified, otherwise Microsoft.HyperV.PowerShell.VMNetworkAdapter.