Set-SCVMHostNetworkAdapter

Set-SCVMHostNetworkAdapter

Changes network-related properties for a physical network adapter on a host managed by VMM.

Syntax

Parameter Set: LogicalNetwork
Set-SCVMHostNetworkAdapter [-VMHostNetworkAdapter] <HostNetworkAdapter> [-AddOrSetLogicalNetwork <LogicalNetwork> ] [-AvailableForPlacement <Boolean> ] [-Description <String> ] [-EnableNetworkVirtualization <Boolean> ] [-JobGroup <Guid> ] [-JobVariable <String> ] [-PROTipID <Guid> ] [-RemoveLogicalNetwork <LogicalNetwork> ] [-RemoveUnassignedVLan <UInt16[]> ] [-RemoveUplinkPortProfileSet] [-RunAsynchronously] [-SubnetVLan <SubnetVLan[]> ] [-UplinkPortProfileSet <UplinkPortProfileSet> ] [-UsedForManagement <Boolean> ] [-VLanMode <VlanMode> {Access | Trunk | Invalid} ] [ <CommonParameters>]

Parameter Set: Manual
Set-SCVMHostNetworkAdapter [-VMHostNetworkAdapter] <HostNetworkAdapter> [-AvailableForPlacement <Boolean> ] [-Description <String> ] [-EnableNetworkVirtualization <Boolean> ] [-JobGroup <Guid> ] [-JobVariable <String> ] [-PROTipID <Guid> ] [-RemoveUnassignedVLan <UInt16[]> ] [-RemoveUplinkPortProfileSet] [-RunAsynchronously] [-UplinkPortProfileSet <UplinkPortProfileSet> ] [-UsedForManagement <Boolean> ] [-VLanEnabled <Boolean> ] [-VLanID <UInt16> ] [-VLanMode <VlanMode> {Access | Trunk | Invalid} ] [-VLanTrunkID <UInt16[]> ] [ <CommonParameters>]

Detailed Description

The Set-SCVMHostNetworkAdapter cmdlet changes network-related properties for a physical network adapter on a host managed by Virtual Machine Manager (VMM).

Properties that you can change with this cmdlet include:

* VLAN SETTINGS: You can use the VLAN parameters to create or modify a

single VLAN or multiple VLANs. For an illustration of how to specify

VLAN settings, see the examples.

For more information about VLANs and additional examples that illustrate VLAN settings, type: "Get-Help Add-SCVMHostNetworkAdapter -detailed".

Parameters

-AddOrSetLogicalNetwork<LogicalNetwork>

Specifies a logical network that will be added or updated.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AvailableForPlacement<Boolean>

Indicates whether the VMM placement process will consider this host or this volume on a host to be eligible as a possible location on which to deploy virtual machines. If this parameter is set to False, you can choose to deploy virtual machines on this host or volume anyway. The default value is True. This parameter does not apply to VMware ESX hosts.

When this parameter is used with network adapters, if set to $False, then placement will not consider the logical networks configured on this network adapter to determine if the host is suitable for connecting a virtual machine.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Description<String>

States a description for the specified object.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableNetworkVirtualization<Boolean>

Specifies whether network virtualization is enabled. The default value is $False.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobGroup<Guid>

Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-JobVariable<String>

Specifies that job progress is tracked and stored in the variable named by this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PROTipID<Guid>

Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RemoveLogicalNetwork<LogicalNetwork>

Specifies a logical network that will be removed.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RemoveUnassignedVLan<UInt16[]>

Specifies that the specified VLANs will be removed from the VLAN trunk of the adapter if they are not associated with a logical network.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RemoveUplinkPortProfileSet

Removes the uplink port profile set from the host network adapter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SubnetVLan<SubnetVLan[]>

Specifies one or more IP subnet and VLAN sets.

For information about creating a SubnetVLan, type: "Get-Help New-SCSubNetVLan".

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-UplinkPortProfileSet<UplinkPortProfileSet>

Specifies an uplink port profile set object.

To obtain an uplink port profile set object, use the Get-SCUplinkPortProfileSet cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-UsedForManagement<Boolean>

Indicates whether the object is used to manage hosts.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanEnabled<Boolean>

Enables a virtual LAN (VLAN) for use by virtual machines on a Hyper-V or Citrix XenServer host.

Example format for a single VLAN: -VLANEnabled -VLANMode "Access" -VLANID 35

Example format for multiple VLANs: -VLANEnabled -VLANMode "Trunk" -VLANTrunkID 1,2,100,200,1124

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanID<UInt16>

Assigns a numerical identifier in the range 1-4094 to a virtual network adapter on a virtual machine or to a physical network adapter on a virtual machine host.

Configure a VLanID on a Hyper-V, VMware ESX, or Citrix XenServer host:

- On an externally bound physical network adapter when the VLan mode is Access.

Configure a VLanID on a virtual network adapter of a virtual machine:

- Bound to a physical network adapter on the host, or

- Bound to an internal virtual network on the host.

Example format: -VLanEnabled

-VLanMode "Access" -VLANID 35

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanMode<VlanMode>

Specifies whether a virtual LAN (VLAN) on a virtual machine host supports traffic across a single VLAN ("Access" mode) or across multiple VLANs ("Trunk" mode). Valid values are: Access, Trunk.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VLanTrunkID<UInt16[]>

Assigns a list of numerical identifiers in the range 1-4094 to a physical network adapter on a Hyper-V host.

Example format: -VLANEnabled -VLANMode "Trunk" -VLANTrunkID 1,2,100,200,1124

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-VMHostNetworkAdapter<HostNetworkAdapter>

Specifies a physical network adapter object on a host to which virtual machines deployed on that host can connect.

Example format: -VMHostNetworkAdapter $VMHostNIC

Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

True (ByValue)

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.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • VMHostNetworkAdapter

Examples

1: Create a new virtual network on a host network adapter and specify a VLAN ID for the virtual network.

The first command gets the host object named VMHost02 and stores the object in the $VMHost variable.

The second command gets the host network adapter object with a name that begins with "Intel(R) PRO/1000 on VMHost02 and stores the object in the $HostAdapter variable.

The third command creates a virtual network named VirtualNetwork01 on VMHost02 that is bound to the host adapter stored in $HostAdapter.

The last command enables a VLAN, sets the mode to Access (which routes traffic internally within a single VLAN), and assigns the network adapter a VLANID of 35.

NOTE: This example assumes that that your host is already connected to a VLAN or, if not, that your host has two network adapters. If your host has a single network adapter, assigning the adapter to a VLAN that is unavailable to the VMM server will prevent VMM from managing the host.

PS C:\> $VMHost = Get-SCVMHost -Computername "VMHost02.Contoso.com"
PS C:\> $HostAdapter = Get-SCVMHostNetworkAdapter -VMHost $VMHost |  where {$_.Name -like "Intel(R) PRO/1000*" }
PS C:\> New-SCVirtualNetwork -Name "VirtualNetwork01" -VMHost $VMHost -VMHostNetworkAdapter $HostAdapter
PS C:\> Set-SCVMHostNetworkAdapter -VMHostNetworkAdapter $HostAdapter -VLanEnabled $True -VLanMode "Access" -VLANID 35

2: Add VLan tags to a host network adapter configured in "Trunk" mode.

The first command gets the host object named VMHost03 and stores the object in the $VMHost variable.

The second command gets the host network adapter object by specifying the adapter name and stores the object in the $VMHostNIC variable.

The third command uses the VlanTags property of the host network adapter object ($VMHostNIC.VlanTags) and concatenates a new array of tags. The updated array retains the exisiting VlanTags and adds the listed tags to the array. The result of the concatenation is stored in $NewVlanTags.

The last command passes the new list of VLAN tags to the VLANTrunkID parameter of Set-VMHostNetworkAdapter. The VLANMode parameter must specify the value "Trunk" whenever the VLANTrunkID parameter is used to modify the list of VLAN trunk numerical identifiers.

PS C:\> $VMHost = Get-SCVMHost -Computername "VMHost03.Contoso.com"
PS C:\> $VMHostNIC = Get-SCVMHostNetworkAdapter -VMHost $VMHost -Name "Adapter #3"
PS C:\> $NewVlanTags = $VMHostNIC.VlanTags + @(177,355,1012)
PS C:\> Set-SCVMHostNetworkAdapter -VMHostNetworkAdapter $VMHostNIC -VLANEnabled $TRUE -VLanMode "Trunk" -VLanTrunkID $NewVLanTags

Add-SCVMHostNetworkAdapter

Get-SCVMHostNetworkAdapter

New-SCVirtualNetwork

New-SCVirtualNetworkAdapter

Remove-SCVMHostNetworkAdapter

Set-SCVirtualNetwork

Set-SCVirtualNetworkAdapter