New-SCVirtualNetworkAdapter

New-SCVirtualNetworkAdapter

Creates a virtual network adapter on a virtual machine, virtual machine template, or hardware profile used in VMM.

Syntax

Parameter Set: VM
New-SCVirtualNetworkAdapter [[-VirtualNetwork] <String> ] -VM <VM> [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-IPv4AddressType <EthernetAddressType> {Dynamic | Static} ] [-IPv6AddressType <EthernetAddressType> {Dynamic | Static} ] [-JobVariable <String> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-NoVMNetwork] [-PortClassification <PortClassification> ] [-PROTipID <Guid> ] [-RunAsynchronously] [-Synthetic] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VMNetwork <VMNetwork> ] [-VMSubnet <VMSubnet> ] [-VMwarePortGroup <String> ] [ <CommonParameters>]

Parameter Set: HardwareProfile
New-SCVirtualNetworkAdapter [[-VirtualNetwork] <String> ] -HardwareProfile <HardwareProfile> [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-IPv4AddressType <EthernetAddressType> {Dynamic | Static} ] [-IPv6AddressType <EthernetAddressType> {Dynamic | Static} ] [-JobVariable <String> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-NoVMNetwork] [-PortClassification <PortClassification> ] [-PROTipID <Guid> ] [-RunAsynchronously] [-Synthetic] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VMNetwork <VMNetwork> ] [-VMNetworkServiceSetting <String> ] [-VMSubnet <VMSubnet> ] [-VMwarePortGroup <String> ] [ <CommonParameters>]

Parameter Set: JobGroup
New-SCVirtualNetworkAdapter [[-VirtualNetwork] <String> ] -JobGroup <Guid> [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-IPv4AddressType <EthernetAddressType> {Dynamic | Static} ] [-IPv6AddressType <EthernetAddressType> {Dynamic | Static} ] [-JobVariable <String> ] [-LogicalNetwork <LogicalNetwork> ] [-LogicalSwitch <LogicalSwitch> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-NoVMNetwork] [-PortClassification <PortClassification> ] [-PROTipID <Guid> ] [-RunAsynchronously] [-Synthetic] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VMHost <Host> ] [-VMMServer <ServerConnection> ] [-VMNetwork <VMNetwork> ] [-VMNetworkServiceSetting <String> ] [-VMSubnet <VMSubnet> ] [-VMwarePortGroup <String> ] [ <CommonParameters>]

Parameter Set: Template
New-SCVirtualNetworkAdapter [[-VirtualNetwork] <String> ] -VMTemplate <Template> [-EnableMACAddressSpoofing <Boolean> ] [-EnableVMNetworkOptimization <Boolean> ] [-IPv4AddressType <EthernetAddressType> {Dynamic | Static} ] [-IPv6AddressType <EthernetAddressType> {Dynamic | Static} ] [-JobVariable <String> ] [-LogicalNetwork <LogicalNetwork> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-NetworkLocation <String> ] [-NetworkTag <String> ] [-NoConnection] [-NoVMNetwork] [-PortClassification <PortClassification> ] [-PROTipID <Guid> ] [-RunAsynchronously] [-Synthetic] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VMNetwork <VMNetwork> ] [-VMNetworkServiceSetting <String> ] [-VMSubnet <VMSubnet> ] [-VMwarePortGroup <String> ] [ <CommonParameters>]

Parameter Set: VMHost
New-SCVirtualNetworkAdapter -LogicalSwitch <LogicalSwitch> -VMHost <Host> [-IPv4Address <String> ] [-IPv4AddressPool <StaticIPAddressPool> ] [-IPv4AddressType <EthernetAddressType> {Dynamic | Static} ] [-IPv6Address <String> ] [-IPv6AddressPool <StaticIPAddressPool> ] [-IPv6AddressType <EthernetAddressType> {Dynamic | Static} ] [-JobGroup <Guid> ] [-JobVariable <String> ] [-MACAddress <String> ] [-MACAddressType <String> ] [-Name <String> ] [-PortClassification <PortClassification> ] [-PROTipID <Guid> ] [-RunAsynchronously] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VMNetwork <VMNetwork> ] [-VMSubnet <VMSubnet> ] [ <CommonParameters>]

Detailed Description

The New-SCVirtualNetworkAdapter cmdlet creates a virtual network adapter on a virtual machine, virtual machine template, or hardware profile used to create virtual machines managed by Virtual Machine Manager (VMM).

NETWORK LOCATION

----------------

You can use the New-SCVirtualNetworkAdapter cmdlet to specify a network location and connect the virtual network adapter to a virtual network configured on the host when you create the adapter, or you can configure those and other settings later by using the Set-SCVirtualNetworkAdapter cmdlet.

STATIC OR DYNAMIC MAC ADDRESS

-----------------------------

Additionally, you can specify whether the virtual network adapter uses a static or dynamic MAC address, and you can specify a static MAC address.

EMULATED OR SYNTHETIC VIRTUAL NETWORK ADAPTERS

----------------------------------------------

You can use the New-SCVirtualNetworkAdapter cmdlet to create an adapter whose type is either emulated (the default) or synthetic.

For virtual machines on any type of host (Hyper-V, VMware, or XenServer), you can configure a virtual network adapter on the virtual machine that emulates a specific physical network adapter.

For virtual machines on Hyper-V hosts, if the guest operating system installed on a virtual machine is a virtualization-aware operating system (for example, Windows Server 2008 or Windows Server 2012, and some versions of Linux), VMM lets you configure a high-performance synthetic virtual network adapter on the virtual machine to communicate with the physical hardware on the host. You must explicitly specify that a virtual network adapter is synthetic by using the Synthetic parameter.

VIRTUAL LOCAL AREA NETWORK

--------------------------

VMM includes support for configuring one or more virtual area networks (VLANs) on a host for use by virtual machines deployed on that host. You can use the New-SCVirtualNetworkAdapter cmdlet (or the Set-SCVirtualNetworkAdapter cmdlet) with the VLAN parameters to attach the virtual network adapter on a virtual machine to a VLAN. To configure corresponding VLAN settings on the host network adapter, use the Add-SCVMHostNetworkAdapter cmdlet or the Set-SCVMHostNetworkAdapter cmdlet.

For an illustration of how to configure VLANs, see the examples for this cmdlet, and see the examples for New-SCVMHostNetworkAdapter and Set-SCVMHostNetworkAdapter.

Parameters

-EnableMACAddressSpoofing<Boolean>

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

Aliases

MACAddressesSpoofingEnabled

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableVMNetworkOptimization<Boolean>

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.

Aliases

VMNetworkOptimizationEnabled

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HardwareProfile<HardwareProfile>

Specifies a hardware profile object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-IPv4Address<String>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4AddressPool<StaticIPAddressPool>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4AddressType<EthernetAddressType>

Specifies an IPv4 address type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv6Address<String>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv6AddressPool<StaticIPAddressPool>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv6AddressType<EthernetAddressType>

Specifies an IPv6 address type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobGroup<Guid>

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.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobVariable<String>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LogicalSwitch<LogicalSwitch>

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-MACAddress<String>

Specifies the Media Access Control (MAC) address, or a set of MAC addresses, for a physical or virtual network adapter on a computer. Valid values are: one or more MAC addresses.

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”

Example format for a set of MAC addresses:

$Macs = “00-15-5D-B4-DC-00”, “00-1A-A0-E3-75-29”

Set-SCPXEServer –MACAddress $Macs

NOTE: When used with New-SCPXEServer or Set-SCPXEServer, the MACAddress parameter updates the PXE interfaces from which the SCDM PXE Server listens for and responds to PXE requests

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MACAddressType<String>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NetworkLocation<String>

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"

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NetworkTag<String>

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

Aliases

none

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.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NoVMNetwork

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PortClassification<PortClassification>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-PROTipID<Guid>

Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Aliases

none

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.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Synthetic

Specifies that a device, such as a virtual network adapter, on a virtual machine deployed on a Hyper-V host is a high-performance synthetic device. Requires a virtualization-aware guest operating system on the virtual machine.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VirtualNetwork<String>

Specifies a virtual network object.

Aliases

none

Required?

false

Position?

1

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanEnabled<Boolean>

Enables 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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanID<UInt16>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VM>

Specifies a virtual machine object.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMHost<Host>

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMMServer<ServerConnection>

Specifies a VMM server object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMNetwork<VMNetwork>

Specifies a VM network object.

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMNetworkServiceSetting<String>

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMSubnet<VMSubnet>

Specifies a VM subnet object.

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMTemplate<Template>

Specifies a VMM template object used to create virtual machines.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMwarePortGroup<String>

Specifies the VMware port group.

Aliases

none

Required?

false

Position?

named

Default Value

none

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.

  • VirtualNetworkAdapter

Notes

  • Requires a VMM virtual machine object, virtual machine template object, or hardware profile object, which can be retrieved by using the Get-SCVirtualMachine, Get-SCVMTemplate, and Get-SCHardwareProfile cmdlets, respectively.

Examples

1: Create a virtual network adapter on a virtual machine.

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

The second command creates a virtual network adapter on VM01.

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> New-SCVirtualNetworkAdapter -VM $VM

2: Create a virtual network adapter on a virtual machine template.

The first command gets the virtual machine template object named VMTemplate01 and stores the object in the $VMTemplate variable.

The second command creates a virtual network adapter on VMTemplate01.

PS C:\> $VMTemplate = Get-SCVMTemplate | where { $_.Name -eq "VMTemplate01" }
PS C:\> New-SCVirtualNetworkAdapter -VMTemplate $VMTemplate

3: Create an emulated virtual network adapter and a synthetic virtual network adapter on a hardware profile.

The first command gets the hardware profile object named NewHWProfile01 from the VMM library and stores the object in the $HWProfile variable.

The second command creates a virtual network adapter (a "native" or emulated adapter) on NewHWProfile01.

The last command creates a synthetic virtual network adapter on NewHWProfile01.

PS C:\> $HWProfile = Get-SCHardwareProfile | where { $_.Name -eq "NewHWProfile01" }
PS C:\> New-SCVirtualNetworkAdapter -HardwareProfile $HWProfile
PS C:\> New-SCVirtualNetworkAdapter -HardwareProfile $HWProfile -Synthetic

4: Create a virtual network adapter on a virtual machine and assign it a unique MAC address.

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

The second command creates a virtual network adapter on the virtual machine stored in $VM (VM04) and stores the object in the $VNIC variable.

The third command gets the MAC address pool object named MAC Address Pool 01 and stores the object in the $MACPool variable.

The last command gets the next available MAC address from the address pool stored in $MACPool, and assigns it to the virtual network adapter stored in $VNIC.

PS C:\> $VM = Get-SCVirtualMachine -Name "VM04"
PS C:\> $VNIC = New-SCVirtualNetworkAdapter -VM $VM
PS C:\> $MACPool = Get-SCMACAddressPool -Name "MAC Address Pool 01"
PS C:\> Grant-SCMACAddress -MACAddressPool $MACPool -VirtualNetworkAdapter $VNIC

5: Create a virtual network adapter with a static MAC address and a specific VLAN ID.

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

The second command gets the logical network object named LogicalNetwork01 and stores the object in the $LogicalNet variable.

The third command gets the virtual network object named ExternalVirtualNetwork01 and stores the object in the $VirtualNet variable.

The last command creates a new virtual network adapter for VM05, connects the adapter to the logical network stored in $LogicalNet and the virtual network stored in $VirtualNet. The command provides a static MAC address for the virtual network adapter, enables VLAN and specifies a VLAN ID of 3.

NOTE: This example assumes that that your host is already connected to a VLAN or, if not, that your host has two network adapters. If your host has a single network adapter, assigning the adapter to a VLAN that is unavailable to the VMM server will prevent VMM from managing the host.

PS C:\> $VM = Get-SCVirtualMachine -Name "VM05"
PS C:\> $LogicalNet = Get-SCLogicalNetwork -Name "LogicalNetwork01"
PS C:\> $VirtualNet = Get-SCVirtualNetwork -Name "ExternalVirtualNetwork01"
PS C:\> New-SCVirtualNetworkAdapter -VM $VM -LogicalNetwork $LogicalNet -VirtualNetwork $VirtualNet -MACAddress "00-16-D3-CC-00-1A" -MACAddressType "Static" -VLANEnabled $True -VLANId 3

Add-SCVMHostNetworkAdapter

Get-SCHardwareProfile

Get-SCVirtualMachine

Get-SCVMMServer

Get-SCVMTemplate

New-SCVirtualNetwork

Remove-SCVirtualNetworkAdapter

Set-SCVirtualNetworkAdapter

Set-SCVMHostNetworkAdapter