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(数字标识符)。
注意
示例
示例 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 进行检索。