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变量中。

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

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

参数

-AdapterFlags

{{Fill AdapterFlags Description}}

类型:VirtualNetworkAdapterFlags
接受的值:None, ApplyInfrastructurePortProfileForNetworkController, ApplyNCPortProfileForNetworkController, ApplyInstaceIDPortProfileForNetworkController
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AllowedVLanList

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

注意

此参数适用于 VMM 2019 UR3 及更高版本。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Checkpoint

指示使用 Can Checkpoint 权限。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-DevicePropertiesAdapterName

指定网络适配器的名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DevicePropertiesAdapterNameMode

指定适配器名称模式。

类型:DevicePropertiesAdapterNameMode
接受的值:Disabled, VMNetwork, Custom
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableGuestIPNetworkVirtualizationUpdates

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

类型:Boolean
别名:GuestIPNetworkVirtualizationUpdatesEnabled
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableMACAddressSpoofing

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

类型:Boolean
别名:MACAddressesSpoofingEnabled
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-EnableVMNetworkOptimization

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

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

类型:Boolean
别名:VMNetworkOptimizationEnabled
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv4Addresses

指定 IPv4 地址的列表。

类型:System.Collections.Generic.List`1[System.String]
别名:IPv4Address
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv4AddressPools

指定 IPv4 地址池的列表。

类型:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
别名:IPv4AddressPool
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv4AddressType

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

  • 动态
  • 静态的
类型:EthernetAddressType
接受的值:Dynamic, Static
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv6Addresses

指定 IPv6 地址的列表。

类型:System.Collections.Generic.List`1[System.String]
别名:IPv6Address
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv6AddressPools

指定 IPv6 地址池的列表。

类型:System.Collections.Generic.List`1[Microsoft.SystemCenter.VirtualMachineManager.StaticIPAddressPool]
别名:IPv6AddressPool
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-IPv6AddressType

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

  • 动态
  • 静态的
类型:EthernetAddressType
接受的值:Dynamic, Static
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-JobGroup

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

类型:Guid
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-JobVariable

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LogicalNetwork

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

类型:LogicalNetwork
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符: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"
类型:String
别名:EthernetAddress, PhysicalAddress
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MACAddressType

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

类型:String
别名:EthernetAddressType, PhysicalAddressType
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NativeVLanId

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

注意

此参数适用于 VMM 2019 UR3 及更高版本。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NetworkLocation

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

示例格式:

  • -NetworkLocation $NetLoc($NetLoc可能包含 Corp.Contoso.com)
  • -OverrideNetworkLocation $True -NetworkLocation "HostNICNewLocation.Contoso.com"
类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NetworkTag

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

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

类型:String
别名:Tag
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoConnection

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoLogicalNetwork

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

类型:SwitchParameter
别名:NoVMNetwork
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NoPortClassification

指示未提供端口分类。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-OnBehalfOfUser

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

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-OnBehalfOfUserRole

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

类型:UserRole
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PhysicalNetworkAdapterName

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

注意

此参数适用于 VMM 2019 UR2 及更高版本。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PortACL

指定端口 ACL 对象。

类型:PortACL
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PortClassification

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

类型:PortClassification
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PROTipID

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

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemovePortACL

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RequiredBandwidth

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

类型:Decimal
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SlotID

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

类型:Int32
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-VirtualNetwork

指定虚拟网络对象。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-VirtualNetworkAdapter

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

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

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

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

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

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

类型:VirtualNetworkAdapter
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-VLanEnabled

指示是启用虚拟 LAN(VLAN),以供 Hyper-V 或 Citrix XenServer 主机上的虚拟机使用。

  • 示例:-VLANEnabled -VLANID 35
类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VLanID

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

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

示例格式:-VLanEnabled -VLANID 35

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMMServer

指定 VMM 服务器对象。

类型:ServerConnection
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-VMNetwork

指定 VM 网络对象。

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

类型:VMNetwork
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMNetworkServiceSetting

指定 VM 网络服务设置。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMSubnet

指定虚拟机子网对象。

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

类型:VMSubnet
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMwarePortGroup

指定 VMware 端口组。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输出

VirtualNetworkAdapter

此 cmdlet 返回 VirtualNetworkAdapter 对象。

备注

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