Set-SCVirtualNetworkAdapter

更改与虚拟机、虚拟机模板或用于在 VMM 中创建虚拟机的硬件配置文件关联的虚拟网络适配器的属性。

语法

Set-SCVirtualNetworkAdapter
   [-IPv4AddressType <EthernetAddressType>]
   [-IPv6AddressType <EthernetAddressType>]
   [-EnableMACAddressSpoofing <Boolean>]
   [-EnableGuestIPNetworkVirtualizationUpdates <Boolean>]
   [-EnableVMNetworkOptimization <Boolean>]
   [-VMNetwork <VMNetwork>]
   [-VMNetworkServiceSetting <String>]
   [-PortClassification <PortClassification>]
   [-VMSubnet <VMSubnet>]
   [-VLanEnabled <Boolean>]
   [-VLanID <UInt16>]
   [-DevicePropertiesAdapterNameMode <DevicePropertiesAdapterNameMode>]
   [-AdapterFlags <VirtualNetworkAdapterFlags>]
   [-VMMServer <ServerConnection>]
   -SlotID <Int32>
   [-VirtualNetwork <String>]
   [-RequiredBandwidth <Decimal>]
   [-NoConnection]
   [-MACAddress <String>]
   [-MACAddressType <String>]
   [-LogicalNetwork <LogicalNetwork>]
   [-NoLogicalNetwork]
   -JobGroup <Guid>
   [-VMwarePortGroup <String>]
   [-NetworkLocation <String>]
   [-NetworkTag <String>]
   [-NoPortClassification]
   [-DevicePropertiesAdapterName <String>]
   [-PortACL <PortACL>]
   [-RemovePortACL]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Set-SCVirtualNetworkAdapter
   [-IPv4AddressType <EthernetAddressType>]
   [-IPv6AddressType <EthernetAddressType>]
   [-EnableMACAddressSpoofing <Boolean>]
   [-EnableGuestIPNetworkVirtualizationUpdates <Boolean>]
   [-EnableVMNetworkOptimization <Boolean>]
   [-VMNetwork <VMNetwork>]
   [-VMNetworkServiceSetting <String>]
   [-PortClassification <PortClassification>]
   [-VMSubnet <VMSubnet>]
   [-VLanEnabled <Boolean>]
   [-VLanID <UInt16>]
   [-DevicePropertiesAdapterNameMode <DevicePropertiesAdapterNameMode>]
   [-AdapterFlags <VirtualNetworkAdapterFlags>]
   [-VMMServer <ServerConnection>]
   [-VirtualNetworkAdapter] <VirtualNetworkAdapter>
   [-VirtualNetwork <String>]
   [-RequiredBandwidth <Decimal>]
   [-NoConnection]
   [-MACAddress <String>]
   [-MACAddressType <String>]
   [-LogicalNetwork <LogicalNetwork>]
   [-NoLogicalNetwork]
   [-JobGroup <Guid>]
   [-VMwarePortGroup <String>]
   [-NetworkLocation <String>]
   [-NetworkTag <String>]
   [-NoPortClassification]
   [-IPv4Addresses <System.Collections.Generic.List`1[System.String]>]
   [-IPv6Addresses <System.Collections.Generic.List`1[System.String]>]
   [-IPv4AddressPools <System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]>]
   [-IPv6AddressPools <System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]>]
   [-DevicePropertiesAdapterName <String>]
   [-PortACL <PortACL>]
   [-RemovePortACL]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Set-SCVirtualNetworkAdapter
   [-VLanEnabled <Boolean>]
   [-VLanID <UInt16>]
   [-VMMServer <ServerConnection>]
   [[-VirtualNetworkAdapter] <VirtualNetworkAdapter>]
   -VirtualNetwork <String>
   [-Checkpoint]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]

说明

Set-SCVirtualNetworkAdapter cmdlet 更改与虚拟机、虚拟机模板或硬件配置文件关联的虚拟网络适配器的一个或多个属性,这些属性用于在 Virtual Machine Manager (VMM) 环境中创建虚拟机。

可以执行的操作包括:

  • 将虚拟网络适配器连接到虚拟网络。

  • 断开虚拟网络适配器与虚拟网络的连接。

  • 在虚拟网络适配器上指定网络位置和网络标记。

  • 在虚拟网络适配器上指定 MAC 地址。

  • 启用虚拟局域网 (VLAN) ,并为虚拟网络适配器上的该 VLAN 指定 VLAN ID (数字标识符) 。

注意

  • VMM 2019 UR2 中包含一个新参数 [-PhysicalNetworkAdapterName ]。 有关详细信息,请参阅参数
  • VMM 2019 UR3 中包含新参数 [-AllowedVLanList][-NativeVLanId ]。 有关详细信息,请参阅参数

示例

示例 1:将虚拟网络适配器连接到虚拟网络

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $Adapter = Get-SCVirtualNetworkAdapter -VM $VM | where { $_.PhysicalAddress -eq "00:16:D3:CC:00:1B" }
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -VirtualNetwork "ExternalVirtualNetwork01"

第一个命令获取名为 VM01 的虚拟机对象,并将对象存储在$VM变量中。

第二个命令获取 VM01 上的所有虚拟网络适配器对象,选择具有物理 (MAC) 地址为 00:16:D3:CC:00:1B 的适配器对象,然后将对象存储在$Adapter变量中。

最后一个命令将存储在$Adapter中的虚拟网络适配器连接到包含 VM01 的主机上名为 ExternalVirtualNetwork01 的虚拟网络。

示例 2:为虚拟网络适配器指定静态 MAC 地址

PS C:\> $VM = Get-SCVirtualMachine -Name "VM02"
PS C:\> $Adapter = Get-SCVirtualNetworkAdapter -VM $VM | where { $_.ID -eq "5c0ee80a-731f-41c8-92f0-85a1619f9a1b" }
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -PhysicalAddressType "Static" -PhysicalAddress "00:16:D3:CC:00:1C"

第一个命令获取名为 VM02 的虚拟机对象,并将该对象存储在$VM变量中。

第二个命令获取 VM02 上的所有虚拟网络适配器对象,选择具有指定 ID 的虚拟网络适配器,然后将该对象存储在$Adapter变量中。 此示例假定此适配器当前具有动态 MAC 地址。

最后一个命令指定存储在$Adapter中的虚拟网络适配器使用静态 MAC 地址 00:16:D3:CC:00:1C。

示例 3:指定静态 MAC 地址并将其分配给现有虚拟网络适配器

PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter (Get-VirtualNetworkAdapter -VM $VM | where { $_.ID -eq "95e9cfda-861c-44a3-b2ba-2f796dfe691c"}) -MACAddressType "Static" -MACAddress "00-00-00-00-00-00"

第一个命令获取名为 VM03 的虚拟机对象,并将该对象存储在$VM变量中。

第二个命令按 ID 获取 VM03 上的虚拟网络适配器对象,指定适配器使用静态 MAC 地址类型,并为其分配 MAC 地址。

示例 4:断开指定的虚拟网络适配器与虚拟网络的连接

PS C:\> $VM = Get-SCVirtualMachine -Name "VM04"
PS C:\> $Adapters = Get-SCVirtualNetworkAdapter -VM $VM
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapters[1] -NoConnection

第一个命令获取名为 VM04 的虚拟机对象,并将对象存储在$VM变量中。

第二个命令获取 VM04 上的所有虚拟网络适配器对象,并将适配器对象存储在$Adapters中。 此示例假定 VM04 至少有两个虚拟网络适配器。

最后一个命令使用 NoConnection 参数断开第二个虚拟网络适配器 (Adapters[1]) 它连接到的任何虚拟网络的连接。

示例 5:为现有虚拟机指定 VMware 端口组

PS C:\> $VM = Get-SCVirtualMachine -Name "VM05"
PS C:\> $Adapter = $VM.VirtualNetworkAdapters[0]
PS C:\> Set-SCVirtualNetworkAdapter -VirtualNetworkAdapter $Adapter -VMwarePortGroup "VM Network"

第一个命令获取名为 VM05 的虚拟机对象,并将该对象存储在$VM变量中。

第二个命令将第一个 [0] 虚拟网络适配器存储在 $Adapter 变量中的 VM05 上。

最后一个命令将存储在$Adapter中的适配器的虚拟网络适配器设置为 VM 网络,这是希望此适配器连接到的 VMware 端口组的名称。

参数

-AdapterFlags

{{Fill AdapterFlags Description}}

Type:VirtualNetworkAdapterFlags
Accepted values:None, ApplyInfrastructurePortProfileForNetworkController, ApplyNCPortProfileForNetworkController, ApplyInstaceIDPortProfileForNetworkController
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowedVLanList

指定在虚拟机网络适配器上允许的虚拟 LAN 的列表。

注意

此参数适用于 VMM 2019 UR3。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Checkpoint

指示使用 Can Checkpoint 权限。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DevicePropertiesAdapterName

指定网络适配器的名称。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DevicePropertiesAdapterNameMode

指定适配器名称模式。

Type:DevicePropertiesAdapterNameMode
Accepted values:Disabled, VMNetwork, Custom
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableGuestIPNetworkVirtualizationUpdates

指示是否启用来宾的 IP 网络虚拟化更新。

Type:Boolean
Aliases:GuestIPNetworkVirtualizationUpdatesEnabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableMACAddressSpoofing

启用,当设置为$True时,MAC 地址欺骗。

Type:Boolean
Aliases:MACAddressesSpoofingEnabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableVMNetworkOptimization

启用,当设置为$True时,虚拟机网络优化。

此功能为支持虚拟机队列的网络适配器 (VMQ) 或 TCP 烟囱卸载的网络适配器提高网络性能。 VMQ 支持为每个虚拟网络适配器创建唯一的网络队列。 TCP 烟囱卸载使网络流量处理能够从网络堆栈中卸载。

Type:Boolean
Aliases:VMNetworkOptimizationEnabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4Addresses

指定 IPv4 地址的列表。

Type:System.Collections.Generic.List`1[System.String]
Aliases:IPv4Address
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4AddressPools

指定 IPv4 地址池的列表。

Type:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
Aliases:IPv4AddressPool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4AddressType

指定 IPv4 地址类型。 此参数的可接受值为:

  • 动态
  • 静态
Type:EthernetAddressType
Accepted values:Dynamic, Static
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6Addresses

指定 IPv6 地址的列表。

Type:System.Collections.Generic.List`1[System.String]
Aliases:IPv6Address
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6AddressPools

指定 IPv6 地址池的列表。

Type:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
Aliases:IPv6AddressPool
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6AddressType

指定 IPv6 地址类型。 此参数的可接受值为:

  • 动态
  • 静态
Type:EthernetAddressType
Accepted values:Dynamic, Static
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

在运行最后一个包含相同作业组标识符的命令之前,为作为集合运行的一系列命令指定标识符。

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LogicalNetwork

指定逻辑网络。 逻辑网络是 IP 子网和 VLAN 的命名分组,用于组织和简化网络分配。

Type:LogicalNetwork
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MACAddress

为计算机上的物理或虚拟网络适配器指定 MAC 地址或一组 MAC 地址。

  • 单个 MAC 地址的示例格式: -MACAddress "00-15-5D-B4-DC-00"
  • 一组 MAC 地址的示例格式: -MACAddress "00-15-5D-B4-DC-00", "00-1A-A0-E3-75-29"
Type:String
Aliases:EthernetAddress, PhysicalAddress
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MACAddressType

指定要用于虚拟网络适配器的 MAC 地址的类型。 有效值为:Static、Dynamic。

Type:String
Aliases:EthernetAddressType, PhysicalAddressType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NativeVLanId

指定虚拟机网络适配器的本机虚拟 LAN 标识符。

注意

此参数适用于 VMM 2019 UR3。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NetworkLocation

指定物理网络适配器或虚拟网络适配器的网络位置,或更改主机的物理网络适配器的默认网络位置。

示例格式:

  • -NetworkLocation $NetLoc ($NetLoc可能包含 Corp.Contoso.com)
  • -OverrideNetworkLocation $True -NetworkLocation "HostNICNewLocation.Contoso.com"
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NetworkTag

指定与主机上配置为连接到特定内部或外部网络的虚拟网络适配器关联的单词或短语。

NetworkTag 参数标识与同一网络成员具有相同 NetworkTag 的所有虚拟机。 当 VMM 评估要在其中部署虚拟机的可能候选主机时,VMM 将使用 NeworkTag () 。 如果主机不包含与要放置的虚拟机相同的 NetworkTag 的网络上的虚拟机,则主机在放置过程中接收零星。

Type:String
Aliases:Tag
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoConnection

断开虚拟网络适配器与虚拟网络的连接。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoLogicalNetwork

指示没有与此虚拟网络适配器关联的逻辑网络。

Type:SwitchParameter
Aliases:NoVMNetwork
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoPortClassification

指示未提供端口分类。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUser

指定用户名。 此 cmdlet 代表此参数指定的用户运行。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUserRole

指定用户角色。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。 此 cmdlet 代表此参数指定的用户角色运行。

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PhysicalNetworkAdapterName

指定物理网络适配器的名称。

注意

此参数适用于 VMM 2019 UR2。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PortACL

指定端口 ACL 对象。

Type:PortACL
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PortClassification

指定虚拟网络适配器连接到的交换机的端口分类。

Type:PortClassification
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemovePortACL

指示此操作 (ACL) 删除端口访问控制列表。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredBandwidth

指定网络适配器所需的网络带宽。

Type:Decimal
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业异步运行,以便控件立即返回到命令 shell。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SlotID

指定用于标识设备的数字 ID。

Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VirtualNetwork

指定虚拟网络对象。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VirtualNetworkAdapter

指定虚拟机的虚拟网络适配器对象。

主机类型支持以下数量的虚拟网络适配器:

  • Hyper-V。 每个虚拟机最多四个模拟适配器。 Windows Server 2003 x64 来宾操作系统上没有可用于模拟网络适配器的驱动程序。

  • Hyper-V。 每个虚拟机最多 8 个合成适配器。

  • VMware ESX。 每个虚拟机最多四个模拟适配器。

  • Citrix XenServer。 每个虚拟机最多 7 个模拟适配器。

Type:VirtualNetworkAdapter
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VLanEnabled

指示是否为 Hyper-V 或 Citrix XenServer 主机上的虚拟机启用虚拟 LAN (VLAN) 。

  • 示例:-VLANEnabled -VLANID 35
Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VLanID

将范围 1-4094 中的数字标识符分配给虚拟机上的虚拟网络适配器或虚拟机主机上的物理网络适配器。

在绑定到主机上物理网络适配器的虚拟机的虚拟网络适配器上配置 VLanID,或在主机上绑定到内部虚拟网络。

示例格式: -VLanEnabled -VLANID 35

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VMNetwork

指定 VM 网络对象。

若要获取 VM 网络对象,请使用 Get-SCVMNetwork cmdlet。

Type:VMNetwork
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMNetworkServiceSetting

指定 VM 网络服务设置。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMSubnet

指定虚拟机子网对象。

若要获取 VMSubnet 对象,请使用 Get-SCVMSubnet cmdlet。

Type:VMSubnet
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMwarePortGroup

指定 VMware 端口组。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

VirtualNetworkAdapter

此 cmdlet 返回 VirtualNetworkAdapter 对象。

备注

  • 需要 VMM 虚拟网络适配器对象,可以使用 Get-SCVirtualNetworkAdapter cmdlet 进行检索。