Set-SCVMConfiguration

修改计算机层的虚拟机配置。

语法

Set-SCVMConfiguration
   [-VMLocation <String>]
   [-PinVMLocation <Boolean>]
   [-ComputerName <String>]
   [-PinVMHost <Boolean>]
   [-CapabilityProfile <CapabilityProfile>]
   [-VMMServer <ServerConnection>]
   [-VMConfiguration] <BaseVMConfiguration>
   [-Description <String>]
   [-Tag <String>]
   [-CostCenter <String>]
   [-Name <String>]
   [-NoConnectedHost]
   [-AvailabilitySetNames <System.Collections.Generic.List`1[System.String]>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Set-SCVMConfiguration
   [-VMLocation <String>]
   [-PinVMLocation <Boolean>]
   [-ComputerName <String>]
   -VMHost <Host>
   [-PinVMHost <Boolean>]
   [-CapabilityProfile <CapabilityProfile>]
   [-VMConfiguration] <BaseVMConfiguration>
   [-Description <String>]
   [-Tag <String>]
   [-CostCenter <String>]
   [-Name <String>]
   [-NoConnectedHost]
   [-AvailabilitySetNames <System.Collections.Generic.List`1[System.String]>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Set-SCVMConfiguration
   [-VMLocation <String>]
   [-PinVMLocation <Boolean>]
   [-ComputerName <String>]
   [-PinVMHost <Boolean>]
   [-VMHostGroup <HostGroup>]
   [-CapabilityProfile <CapabilityProfile>]
   [-VMMServer <ServerConnection>]
   [-VMConfiguration] <BaseVMConfiguration>
   [-Description <String>]
   [-Tag <String>]
   [-CostCenter <String>]
   [-Name <String>]
   [-NoConnectedHost]
   [-AvailabilitySetNames <System.Collections.Generic.List`1[System.String]>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]
Set-SCVMConfiguration
   [-VMLocation <String>]
   [-PinVMLocation <Boolean>]
   [-ComputerName <String>]
   [-PinVMHost <Boolean>]
   -Cloud <Cloud>
   [-CapabilityProfile <CapabilityProfile>]
   [-VMConfiguration] <BaseVMConfiguration>
   [-Description <String>]
   [-Tag <String>]
   [-CostCenter <String>]
   [-Name <String>]
   [-NoConnectedHost]
   [-AvailabilitySetNames <System.Collections.Generic.List`1[System.String]>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]

说明

Set-SCVMConfiguration cmdlet 修改计算机层的虚拟机配置。 虚拟机配置描述在部署服务时如何配置虚拟机。

示例

示例 1:在部署服务之前更新计算机层的虚拟机配置

PS C:\> $ServiceConfig = Get-SCServiceConfiguration -Name "Service01"
PS C:\> $TierConfig = Get-SCComputerTierConfiguration -ServiceConfiguration $ServiceConfig
PS C:\> $VMConfig = Get-SCVMConfiguration -ComputerTierConfiguration $TierConfig
PS C:\> Set-SCVMConfiguration -VMConfiguration $VMConfig[0] -Description "This is the updated virtual machine configuration"

第一个命令获取名为 Service01 的服务配置对象,并将对象存储在$ServiceConfig变量中。

第二个命令获取存储在$ServiceConfig中的服务配置的计算机层配置,并将对象存储在$TierConfig变量中。

第三个命令获取存储在$TierConfig的计算机层配置的虚拟机配置,并将变量存储在$VMConfig变量中。

最后一个命令设置存储在$VMConfig中的第一个虚拟机配置对象的 description 属性,并向用户显示虚拟机配置的属性。

示例 2:为虚拟机层配置虚拟机配置对象以固定虚拟机的主机

PS C:\> $ServiceConfig = Get-SCServiceConfiguration -Name "Service01" 
PS C:\> $TierConfig = Get-SCComputerTierConfiguration -ServiceConfiguration $ServiceConfig 
PS C:\> $VMConfig = Get-SCVMConfiguration -ComputerTierConfiguration $TierConfig
PS C:\> Set-SCVMConfiguration -VMConfiguration $VMConfig[0] -PinVMHost $True

第一个命令获取名为 Service01 的服务配置对象,并将对象存储在$ServiceConfig变量中。

第二个命令获取存储在$ServiceConfig的服务配置的计算机层配置对象,并将对象存储在$TierConfig变量中。

第三个命令获取存储在$TierConfig的计算机层配置的虚拟机配置对象,并将对象存储在$VMConfig变量中。

最后一个命令将 pinVMHost propety 设置为$True存储在$VMConfig中的第一个虚拟机配置对象。 因此,部署服务时,不会更改使用此配置创建的虚拟机的主机。

示例 3:为私有云中的服务配置虚拟机配置对象

PS C:\> $ServiceConfig = Get-SCServiceConfiguration -Name "Service01"
PS C:\> $TierConfig = Get-SCComputerTierConfiguration -ServiceConfiguration $ServiceConfig 
PS C:\> $VMConfig = Get-SCVMConfiguration -ComputerTierConfiguration $TierConfig
PS C:\> $Cloud = Get-SCCloud -Name "Production"
PS C:\> Set-SCVMConfiguration -VMConfiguration $VMConfig[1] -Cloud $Cloud -Description "This is the new virtual machine configuration"

第一个命令获取名为 Service01 的服务配置对象,并将对象存储在$ServiceConfig变量中。

第二个命令获取存储在$ServiceConfig中的服务配置的计算机层配置,并将对象存储在$TierConfig变量中。

第三个命令获取存储在$TierConfig的计算机层配置的虚拟机配置对象,并将对象存储在$VMConfig变量中。

第四个命令获取名为 Production 的私有云对象,并将该对象存储在$Cloud变量中。

最后一个命令更新存储在$VMConfig中存储的第二个虚拟机配置对象的说明,该对象存储在$Cloud中的私有云。

参数

-AvailabilitySetNames

指定可用性集名称的列表。

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

-CapabilityProfile

指定功能配置文件对象。

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

-Cloud

指定私有云对象。

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

-ComputerName

指定 Virtual Machine Manager (VMM) 可以在网络上唯一标识的计算机的名称。 有效格式为:

  • FQDN
  • IPv4 或 IPv6 地址
  • NetBIOS 名称
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CostCenter

指定虚拟机的成本中心,以便您可以收集有关虚拟机分配(或分配给虚拟机的资源)的数据,以便在帐单系统中加以利用。

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

-Description

指定配置的说明。

Type:String
Position:Named
Default value:None
Required:False
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

-Name

指定 VMM 对象的名称。

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

-NoConnectedHost

从虚拟机配置中删除主机。

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

指定用户角色。 此 cmdlet 将代表用户角色设置为此参数指定的用户角色。 若要获取用户角色对象,请使用 Get-SCUserRole cmdlet。

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

-PinVMHost

指示用户选择的虚拟机主机是否在服务部署配置期间保留。

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

-PinVMLocation

指示用户选择的虚拟机位置是否在服务部署配置期间保留。

Type:Boolean
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

-RunAsynchronously

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

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

-Tag

指定要与对象关联的单词或短语,以便可以使用指定的标记集搜索所有对象。 可以搜索标记的子集,也可以搜索完整的标记集。

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

-VMConfiguration

指定虚拟机配置对象。

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

-VMHost

指定一个虚拟主机对象。 VMM 支持 Hyper-V 主机、VMware ESX 主机和 Citrix XenServer 主机。

有关每种类型的主机的详细信息,请参阅 Add-SCVMHost cmdlet。

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

-VMHostGroup

指定一个虚拟主机组对象或一组主机组对象。

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

-VMLocation

指定虚拟机的路径。

Type:String
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:False
Accept wildcard characters:False

输出

VMConfiguration

此 cmdlet 返回 VMConfiguration 对象。