Add-VMNetworkAdapter

Add-VMNetworkAdapter

Adds a virtual network adapter to a virtual machine.

Syntax

Parameter Set: VMName
Add-VMNetworkAdapter [-VMName] <String[]> [-ComputerName <String[]> ] [-DynamicMacAddress] [-IsLegacy <Boolean> ] [-Name <String> ] [-Passthru] [-ResourcePoolName <String> ] [-StaticMacAddress <String> ] [-SwitchName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ManagementOS
Add-VMNetworkAdapter [-ComputerName <String[]> ] [-DynamicMacAddress] [-ManagementOS] [-Name <String> ] [-Passthru] [-StaticMacAddress <String> ] [-SwitchName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMObject
Add-VMNetworkAdapter [-VM] <VirtualMachine[]> [-DynamicMacAddress] [-IsLegacy <Boolean> ] [-Name <String> ] [-Passthru] [-ResourcePoolName <String> ] [-StaticMacAddress <String> ] [-SwitchName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Add-VMNetworkAdapter cmdlet adds a virtual network adapter to a virtual machine.

Parameters

-ComputerName<String[]>

Specifies one or more Hyper-V hosts on which the virtual network adapter is to be added. 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

-DynamicMacAddress

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IsLegacy<Boolean>

Specifies whether the virtual network adapter is the legacy type.

Aliases

none

Required?

false

Position?

named

Default Value

FALSE

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ManagementOS

Specifies the management operating system.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Name<String>

Specifies a name for the new virtual network adapter. The default value is “Network Adapter.”

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 be pipeline representing the network adapter to be added. If you specify –ManagementOS, the object passed is a Microsoft.Virtualization.Powershell.VMInternalNetworkAdapter; otherwise the object passed is a Microsoft.Virtualization.Powershell.VMNetworkAdapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ResourcePoolName<String>

Specifies the friendly name of a resource pool.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-StaticMacAddress<String>

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

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SwitchName<String>

Specifies the name of the virtual switch to connect to the new network adapter. If the switch name is not unique, then the operation fails.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VirtualMachine[]>

Specifies the virtual machine on which the network adapter is to be added.

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 on which the network adapter is to be added.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

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.

  • None

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None by default; if PassThru is specified, then either a Microsoft.Virtualization.Powershell.VMInternalNetworkAdapter if ManagementOS is specified, or a Microsoft.Virtualization.Powershell.VMNetworkAdapter if it is not.

Examples

Example 1

This example adds a virtual network adapter named Redmond NIC1 to a virtual machine named Redmond.

PS C:\> Add-VMNetworkAdapter –VMName Redmond –Name “Redmond NIC1”

Example 2

This example adds a virtual network adapter to a virtual machine named Test and connects it to a virtual switch named Network.

PS C:\> Add-VMNetworkAdapter -VMName Test -SwitchName Network

Example 3

This example uses two cmdlets and the pipeline in one command to perform the operation.

PS C:\> Get-VM Test | Add-VMNetworkAdapter -IsLegacy $true –Name Bootable

Example 4

This example adds a second virtual network adapter in the management operating system.

PS C:\> Add-VMNetworkAdapter -ManagementOS -Name Secondary