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, this cmdlet doesn't return any output.

Microsoft.HyperV.PowerShell.VMNetworkAdapter

If PassThru is specified, a Microsoft.HyperV.PowerShell.VMNetworkAdapter object is output by default.

Microsoft.HyperV.PowerShell.VMInternalNetworkAdapter

If PassThru and ManagementOS is specified, then Microsoft.HyperV.PowerShell.VMInternalNetworkAdapter is output.