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.