Set-VmNetworkAdapterIsolation

Set-VmNetworkAdapterIsolation

Modifies isolation settings for a virtual network adapter.

Syntax

Parameter Set: VMName
Set-VmNetworkAdapterIsolation [-VMName] <String[]> [-AllowUntaggedTraffic <Boolean> ] [-ComputerName <String[]> ] [-DefaultIsolationID <Int32> ] [-IsolationMode <VMNetworkAdapterIsolationMode> ] [-MultiTenantStack <OnOffState> ] [-Passthru] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ManagementOS
Set-VmNetworkAdapterIsolation -ManagementOS [-AllowUntaggedTraffic <Boolean> ] [-ComputerName <String[]> ] [-DefaultIsolationID <Int32> ] [-IsolationMode <VMNetworkAdapterIsolationMode> ] [-MultiTenantStack <OnOffState> ] [-Passthru] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ResourceObject
Set-VmNetworkAdapterIsolation [-VMNetworkAdapter] <VMNetworkAdapterBase[]> [-AllowUntaggedTraffic <Boolean> ] [-DefaultIsolationID <Int32> ] [-IsolationMode <VMNetworkAdapterIsolationMode> ] [-MultiTenantStack <OnOffState> ] [-Passthru] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMObject
Set-VmNetworkAdapterIsolation [-VM] <VirtualMachine[]> [-AllowUntaggedTraffic <Boolean> ] [-DefaultIsolationID <Int32> ] [-IsolationMode <VMNetworkAdapterIsolationMode> ] [-MultiTenantStack <OnOffState> ] [-Passthru] [-VMNetworkAdapterName <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-VmNetworkAdapterIsolation cmdlet modifies isolation settings for a virtual network adapter. You can isolate a virtual machine adapter by using virtual local area network (VLAN), Hyper-V Network Virtualization or a third party virtualization solution. You can specify the isolation method and modify other settings, which include multitenancy settings. For more information about multitenancy, see the Add-VmNetworkAdapterRoutingDomainMapping cmdlet.

Parameters

-AllowUntaggedTraffic<Boolean>

Indicates whether the virtual machine sends and receives untagged traffic.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ComputerName<String[]>

Specifies an array of Hyper-V hosts. The cmdlet modifies isolation settings for virtual machines hosted by the computers that you specify.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DefaultIsolationID<Int32>

Specifies the ID of the network for traffic to the default compartment on virtual machines that have multitenancy enabled.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IsolationMode<VMNetworkAdapterIsolationMode>

Specifies the isolation mode for the adapter. The acceptable values for this parameter are:

-- NativeVirtualSubnet. Hyper-V Network Virtualization.
-- ExternalVirtualSubnet. A third party network virtualization solution.
-- VLAN.
-- None.

If you specify a value of None, the network adapter uses its default isolation mode. Set the default isolation mode by using the Set-VMNetworkAdapterVlan cmdlet or the Set-VMNetworkAdapter cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ManagementOS

Indicates that the cmdlet operates on the parent or host operating system. If you specify this parameter, this cmdlet modifies isolation settings for the parent or host operating system.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MultiTenantStack<OnOffState>

Specifies whether to use multiple isolation IDs for the virtual machine. The acceptable values for this parameter are:

-- On. Indicate isolation IDs so that the virtual machine provides services to multiple tenants on different isolation subnets.
-- Off. Do not indicate isolation IDs to virtual machine.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Passthru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VM<VirtualMachine[]>

Specifies an array of virtual machine objects. The cmdlet modifies isolation settings for adapters that belong to the virtual machines that you specify. To obtain a virtual machine object, use the Get-VM cmdlet.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMName<String[]>

Specifies an array of names of virtual machines. The cmdlet modifies isolation settings for adapters that belong to the virtual machines that you specify.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMNetworkAdapter<VMNetworkAdapterBase[]>

Specifies an array VM network adapters as VMNetworkAdapterBase objects. The cmdlet modifies isolation settings for the adapters that you specify. To obtain a network adapter, use the Get-VMNetworkAdapter cmdlet.

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-VMNetworkAdapterName<String>

Specifies the name of a virtual network adapter. The cmdlet modifies isolation settings for the adapters that you specify.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

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.

  • Microsoft.HyperV.PowerShell.VMNetworkAdapterIsolation

Examples

Example 1: Set isolation mode for a virtual machine

This command sets the isolation mode of the virtual machine named TSQA01 to NativeVirtualSubnet, which indicates Hyper-V Network Virtualization. The virtual machine does not accept untagged traffic, but the MultitenantStack parameter has a value of On, so the virtual machine can provide services to multiple tenants.

PS C:\> Set-VMNetworkAdapterIsolation -VMName "TSQA01" -AllowUntaggedTraffic $False -IsolationMode NativeVirtualSubnet -MultiTenantStack On

Example 2: Set isolation mode and untagged traffic setting for a virtual machine

This command sets the isolation mode for virtual machine named TSQA01 to be VLAN. The virtual machine accepts untagged traffic, which is sent and received on VLAN 1, specified by the DefaultIsolationID parameter. Untagged traffic goes to the default compartment in the virtual machine. Multitenancy is enabled, therefore, the virtual machine receives isolation subnet and routing domain information.

PS C:\> Set-VMNetworkAdapterIsolation -VMName "TSQA01" -AllowUntaggedTraffic $True -IsolationMode VLAN -DefaultIsolationID 1 -MultiTenantStack On

Get-VmNetworkAdapterIsolation

Get-VM

Get-VMNetworkAdapter

Set-VMNetworkAdapter

Set-VMNetworkAdapterVlan