Add-VMNetworkAdapter

Adds a virtual network adapter to a virtual machine.

Syntax

Add-VMNetworkAdapter
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-VMName] <String[]>
   [-SwitchName <String>]
   [-IsLegacy <Boolean>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-ResourcePoolName <String>]
   [-DeviceNaming <OnOffState>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMNetworkAdapter
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-ManagementOS]
   [-SwitchName <String>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-DeviceNaming <OnOffState>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMNetworkAdapter
   [-SwitchName <String>]
   [-IsLegacy <Boolean>]
   [-Name <String>]
   [-DynamicMacAddress]
   [-StaticMacAddress <String>]
   [-Passthru]
   [-ResourcePoolName <String>]
   [-VM] <VirtualMachine[]>
   [-DeviceNaming <OnOffState>]
   [-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

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

Type:OnOffState
Accepted values:On, Off
Position:Named
Default value:None
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:None
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.