Add-VMNetworkAdapter

Adds a virtual network adapter to a virtual machine.

Syntax

Add-VMNetworkAdapter
   [-ComputerName <String[]>]
   [-VMName] <String[]>
   [-SwitchName <String>]
   [-IsLegacy <Boolean>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-ResourcePoolName <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMNetworkAdapter
   [-ComputerName <String[]>]
   [-ManagementOS]
   [-SwitchName <String>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMNetworkAdapter
   [-SwitchName <String>]
   [-IsLegacy <Boolean>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-ResourcePoolName <String>]
   [-VM] <VirtualMachine[]>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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

Examples

Example 1

PS C:\>Add-VMNetworkAdapter -VMName Redmond -Name "Redmond NIC1"

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

Example 2

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

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

Example 3

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

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

Example 4

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

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

Parameters

-ComputerName

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.

Type:String[]
Position:Named
Default value:.
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

-DynamicMacAddress

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

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

-IsLegacy

Specifies whether the virtual network adapter is the legacy type.

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

-ManagementOS

Specifies the management operating system.

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

-Name

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

Type:String
Aliases:VMNetworkAdapterName
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 be pipeline representing the network adapter to be added. If you specify -ManagementOS, the object passed is a Microsoft.HyperV.PowerShell.VMInternalNetworkAdapter; otherwise the object passed is a Microsoft.HyperV.PowerShell.VMNetworkAdapter.

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

-ResourcePoolName

Specifies the friendly name of a resource pool.

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

-StaticMacAddress

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

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

-SwitchName

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.

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

-VM

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

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

-VMName

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

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
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

Inputs

None

Outputs

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