Set-SCVirtualNetworkAdapter

Changes properties of a virtual network adapter associated with a virtual machine, a virtual machine template, or a hardware profile used to create virtual machines in VMM.

Syntax

Set-SCVirtualNetworkAdapter [-VirtualNetworkAdapter] <VirtualNetworkAdapter>
 [-ApplyInfrastructurePortProfileForNetworkController <Boolean>] [-DevicePropertiesAdapterName <String>]
 [-DevicePropertiesAdapterNameMode <DevicePropertiesAdapterNameMode>]
 [-EnableGuestIPNetworkVirtualizationUpdates <Boolean>] [-EnableMACAddressSpoofing <Boolean>]
 [-EnableVMNetworkOptimization <Boolean>]
 [-IPv4AddressPools <System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]>]
 [-IPv4AddressType <EthernetAddressType>] [-IPv4Addresses <System.Collections.Generic.List`1[System.String]>]
 [-IPv6AddressPools <System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]>]
 [-IPv6AddressType <EthernetAddressType>] [-IPv6Addresses <System.Collections.Generic.List`1[System.String]>]
 [-JobGroup <Guid>] [-JobVariable <String>] [-LogicalNetwork <LogicalNetwork>] [-MACAddress <String>]
 [-MACAddressType <String>] [-NetworkLocation <String>] [-NetworkTag <String>] [-NoConnection]
 [-NoLogicalNetwork] [-NoPortClassification] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>]
 [-PROTipID <Guid>] [-PortACL <PortACL>] [-PortClassification <PortClassification>] [-RemovePortACL]
 [-RequiredBandwidth <Decimal>] [-RunAsynchronously] [-VLanEnabled <Boolean>] [-VLanID <UInt16>]
 [-VMMServer <ServerConnection>] [-VMNetwork <VMNetwork>] [-VMNetworkServiceSetting <String>]
 [-VMSubnet <VMSubnet>] [-VMwarePortGroup <String>] [-VirtualNetwork <String>] [<CommonParameters>]
Set-SCVirtualNetworkAdapter [-ApplyInfrastructurePortProfileForNetworkController <Boolean>]
 [-DevicePropertiesAdapterName <String>] [-DevicePropertiesAdapterNameMode <DevicePropertiesAdapterNameMode>]
 [-EnableGuestIPNetworkVirtualizationUpdates <Boolean>] [-EnableMACAddressSpoofing <Boolean>]
 [-EnableVMNetworkOptimization <Boolean>] [-IPv4AddressType <EthernetAddressType>]
 [-IPv6AddressType <EthernetAddressType>] -JobGroup <Guid> [-JobVariable <String>]
 [-LogicalNetwork <LogicalNetwork>] [-MACAddress <String>] [-MACAddressType <String>]
 [-NetworkLocation <String>] [-NetworkTag <String>] [-NoConnection] [-NoLogicalNetwork] [-NoPortClassification]
 [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>] [-PortACL <PortACL>]
 [-PortClassification <PortClassification>] [-RemovePortACL] [-RequiredBandwidth <Decimal>]
 [-RunAsynchronously] -SlotID <Int32> [-VLanEnabled <Boolean>] [-VLanID <UInt16>]
 [-VMMServer <ServerConnection>] [-VMNetwork <VMNetwork>] [-VMNetworkServiceSetting <String>]
 [-VMSubnet <VMSubnet>] [-VMwarePortGroup <String>] [-VirtualNetwork <String>] [<CommonParameters>]
Set-SCVirtualNetworkAdapter [[-VirtualNetworkAdapter] <VirtualNetworkAdapter>] [-Checkpoint]
 [-JobVariable <String>] [-OnBehalfOfUser <String>] [-OnBehalfOfUserRole <UserRole>] [-PROTipID <Guid>]
 [-RunAsynchronously] [-VLanEnabled <Boolean>] [-VLanID <UInt16>] [-VMMServer <ServerConnection>]
 -VirtualNetwork <String> [<CommonParameters>]

Description

The Set-SCVirtualNetworkAdapter cmdlet changes one or more properties of a virtual network adapter associated with a virtual machine, virtual machine template, or hardware profile used to create virtual machines in a Virtual Machine Manager (VMM) environment.

Operations you can perform include the following:

- Connect a virtual network adapter to a virtual network.

- Disconnect a virtual network adapter from a virtual network.

- Specify a network location and network tag on a virtual network adapter.

- Specify a MAC address on the virtual network adapter.

- Enable the use of a virtual local area network (VLAN) and specify a VLAN ID (numerical identifier) for that VLAN on the virtual network adapter.

Examples

Example 1: Connect a virtual network adapter to a virtual network

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $Adapter = Get-SCVirtualNetworkAdapter -VM $VM | where { $_.PhysicalAddress -eq "00:16:D3:CC:00:1B" }
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -VirtualNetwork "ExternalVirtualNetwork01"

The first command gets the virtual machine object named VM01 and stores the object in the $VM variable.

The second command gets all virtual network adapter objects on VM01, selects the adapter object with the physical (MAC) address of 00:16:D3:CC:00:1B, and then stores the object in the $Adapter variable.

The last command connects the virtual network adapter stored in $Adapter to the virtual network named ExternalVirtualNetwork01 on the host that contains VM01.

Example 2: Specify a static MAC address for a virtual network adapter

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02" 
PS C:\> $Adapter = Get-SCVirtualNetworkAdapter -VM $VM | where { $_.ID -eq "5c0ee80a-731f-41c8-92f0-85a1619f9a1b" }
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -PhysicalAddressType "Static" -PhysicalAddress "00:16:D3:CC:00:1C"

The first command gets the virtual machine object named VM02 and stores the object in the $VM variable.

The second command gets all virtual network adapter objects on VM02, selects the virtual network adapter with the specified ID, and then stores the object in the $Adapter variable. This example assumes that this adapter currently has a dynamic MAC address.

The last command specifies that the virtual network adapter stored in $Adapter use the static MAC address 00:16:D3:CC:00:1C.

Example 3: Specify a static MAC address and assign it to an existing virtual network adapter

PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter (Get-VirtualNetworkAdapter -VM $VM | where { $_.ID -eq "95e9cfda-861c-44a3-b2ba-2f796dfe691c"}) -MACAddressType "Static" -MACAddress "00-00-00-00-00-00"

The first command gets the virtual machine object named VM03 and stores the object in the $VM variable.

The second command gets the virtual network adapter object on VM03 by ID, specifies that the adapter uses a static MAC address type, and assigns it a MAC address.

Example 4: Disconnect the specified virtual network adapter from the virtual network

PS C:\> $VM = Get-SCVirtualMachine -Name "VM04"
PS C:\> $Adapters = Get-SCVirtualNetworkAdapter -VM $VM
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapters[1] -NoConnection

The first command gets the virtual machine object named VM04 and stores the object in the $VM variable.

The second command gets all virtual network adapter objects on VM04 and stores the adapter objects in $Adapters. This example assumes that VM04 has at least two virtual network adapters.

The last command uses the NoConnection parameter to disconnect the second virtual network adapter (Adapters[1]) from any virtual network that it is connected to.

Example 5: Specify a VMware port group for an existing virtual machine

PS C:\> $VM = Get-SCVirtualMachine -Name "VM05"
PS C:\> $Adapter = $VM.VirtualNetworkAdapters[0]
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -VMwarePortGroup "VM Network"

The first command gets the virtual machine object named VM05 and stores the object in the $VM variable.

The second command stores the first [0] virtual network adapter on VM05 in the $Adapter variable.

The last command sets the virtual network adapter for the adapter stored in $Adapter to VM Network, which is the name of the VMware port group that you want this adapter to connect to.

Parameters

-ApplyInfrastructurePortProfileForNetworkController

Unblocks a vNIC connected to a network controller managed switch to allow traffic. It is meant for infrastructure vNICs as well as non-network controller managed networks connected to a network controller managed switch.

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

Indicates to use the Can Checkpoint permission.

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

Specifies the name of a network adapter.

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

Specifies the adapter name mode.

Type:DevicePropertiesAdapterNameMode
Parameter Sets:Disabled, VMNetwork, Custom
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EnableGuestIPNetworkVirtualizationUpdates

Indicates whether IP network virtualization updates by a guest is enabled.

Type:Boolean
Aliases:GuestIPNetworkVirtualizationUpdatesEnabled
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EnableMACAddressSpoofing

Enables, when set to $True, MAC address spoofing.

Type:Boolean
Aliases:MACAddressesSpoofingEnabled
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EnableVMNetworkOptimization

Enables, when set to $True, virtual machine network optimization.

This feature improves network performance for virtual machines with network adapters that support virtual machine queue (VMQ) or TCP Chimney Offload. VMQ enables creating a unique network queue for each virtual network adapter. TCP Chimney Offload enables network traffic processing to be offloaded from the networking stack.

Type:Boolean
Aliases:VMNetworkOptimizationEnabled
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv4AddressPools

Specifies a list of IPv4 address pools.

Type:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
Aliases:IPv4AddressPool
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv4AddressType

Specifies an IPv4 address type. The acceptable values for this parameter are:

- Dynamic

  • Static

Type:EthernetAddressType
Parameter Sets:Dynamic, Static
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv4Addresses

Specifies a list of IPv4 addresses.

Type:System.Collections.Generic.List`1[System.String]
Aliases:IPv4Address
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv6AddressPools

Specifies a list of IPv6 address pools.

Type:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
Aliases:IPv6AddressPool
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv6AddressType

Specifies an IPv6 address type. The acceptable values for this parameter are:

- Dynamic

  • Static

Type:EthernetAddressType
Parameter Sets:Dynamic, Static
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-IPv6Addresses

Specifies a list of IPv6 addresses.

Type:System.Collections.Generic.List`1[System.String]
Aliases:IPv6Address
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-JobGroup

Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs.

Type:Guid
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-JobVariable

Specifies that job progress is tracked and stored in the variable named by this parameter.

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

Specifies a logical network. A logical network is a named grouping of IP subnets and VLANs that is used to organize and simplify network assignments.

Type:LogicalNetwork
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-MACAddress

Specifies the MAC address, or a set of MAC addresses, for a physical or virtual network adapter on a computer.

- Example format for a single MAC address: -MACAddress "00-15-5D-B4-DC-00"

  • Example format for a set of MAC addresses: -MACAddress "00-15-5D-B4-DC-00", "00-1A-A0-E3-75-29"

Type:String
Aliases:EthernetAddress, PhysicalAddress
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-MACAddressType

Specifies the type of MAC address to use for a virtual network adapter. Valid values are: Static, Dynamic.

Type:String
Aliases:EthernetAddressType, PhysicalAddressType
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-NetworkLocation

Specifies the network location for a physical network adapter or for a virtual network adapter, or changes the default network location of a host's physical network adapter.

Example formats:

  • -NetworkLocation $NetLoc ($NetLoc might contain Corp.Contoso.com)
  • -OverrideNetworkLocation $True -NetworkLocation "HostNICNewLocation.Contoso.com"

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

Specifies a word or phrase to associate with a virtual network adapter that is configured to connect to a specific internal or external network on the host.

The NetworkTag parameter identifies all virtual machines with the same NetworkTag as members of the same network. VMM uses a NeworkTag (if one exists) when it evaluates hosts as possible candidates on which to deploy a virtual machine. If the host does not include virtual machines on the network with the same NetworkTag as the virtual machine to be placed, the host receives zero stars in the placement process.

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

Disconnects a virtual network adapter from a virtual network.

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

Indicates that no logical network is associated with this virtual network adapter.

Type:SwitchParameter
Aliases:NoVMNetwork
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-NoPortClassification

Indicates that a port classification is not provided.

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

Specifies a user name. This cmdlet operates on behalf of the user that this parameter specifies.

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

Specifies a user role. To obtain a user role, use the Get-SCUserRole cmdlet. This cmdlet operates on behalf of the user role that this parameter specifies.

Type:UserRole
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PROTipID

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.

Type:Guid
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PortACL

Specifies a port ACL object.

Type:PortACL
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PortClassification

Specifies the port classification of the switch to which the virtual network adapter connects.

Type:PortClassification
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RemovePortACL

Indicates that this operation removes the port access control list (ACL).

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

Specifies the network bandwidth required by a network adapter.

Type:Decimal
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

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

Specifies a numerical ID used to identify a device.

Type:Int32
Required:True
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VLanEnabled

Indicates whether to enable a virtual LAN (VLAN) for use by virtual machines on a Hyper-V or Citrix XenServer host.

- Example format for a single VLAN: -VLANEnabled -VLANMode "Access" -VLANID 35

  • Example format for multiple VLANs: -VLANEnabled -VLANMode "Trunk" -VLANTrunkID 1,2,100,200,1124

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

Assigns a numerical identifier in the range 1-4094 to a virtual network adapter on a virtual machine or to a physical network adapter on a virtual machine host.

Configure a VLanID on a Hyper-V, VMware ESX, or Citrix XenServer host on an externally bound physical network adapter when the VLan mode is Access.

Configure a VLanID on a virtual network adapter of a virtual machine bound to a physical network adapter on the host, or bound to an internal virtual network on the host.

Example format: -VLanEnabled -VLanMode "Access" -VLANID 35

Type:UInt16
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VMMServer

Specifies a VMM server object.

Type:ServerConnection
Required:False
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-VMNetwork

Specifies a VM network object.

To get a VM network object, use the Get-SCVMNetwork cmdlet.

Type:VMNetwork
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VMNetworkServiceSetting

Specifies a VM network service setting.

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

Specifies a virtual machine subnet object.

To obtain a VMSubnet object, use the Get-SCVMSubnet cmdlet.

Type:VMSubnet
Required:False
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-VMwarePortGroup

Specifies the VMware port group.

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

Specifies a virtual network object.

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

Specifies a virtual network adapter object for a virtual machine.

Types of hosts support the following number of virtual network adapters:

- Hyper-V. Up to four emulated adapters per virtual machine. There is no driver available for an emulated network adapter on a Windows Server 2003 x64 guest operating system.

- Hyper-V. Up to eight synthetic adapters per virtual machine.

  • VMware ESX. Up to four emulated adapters per virtual machine.
  • Citrix XenServer. Up to seven emulated adapters per virtual machine.

Type:VirtualNetworkAdapter
Required:True
Position:0
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False

Outputs

VirtualNetworkAdapter

This cmdlet returns a **VirtualNetworkAdapter** object.

Notes

* Requires a VMM virtual network adapter object, which can be retrieved by using the **Get-SCVirtualNetworkAdapter** cmdlet.