Update-SCService

汇报 VMM 服务实例。

语法

Update-SCService
      [-VMMServer <ServerConnection>]
      [-Service] <Service>
      [-ShowActions]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]
Update-SCService
      [-VMMServer <ServerConnection>]
      [-Service] <Service>
      [-WhatIf]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

说明

Update-SCService cmdlet 更新 Virtual Machine Manager (VMM) 服务的实例。 可以使用两种服务类型:常规服务和基于映像的服务。

常规服务将更新应用到已部署的虚拟机,而无需重新部署服务。 虽然快速,但它不允许更改虚拟硬盘、删除网络适配器或更改操作系统设置 (,但 Windows Server 角色和功能) 除外。

基于映像的服务使用更新将新虚拟机部署到服务。 在更新层的 VHD 后,最常使用这种类型的服务,例如将软件更新应用到程序磁盘。

示例

示例 1:使用传统服务更新服务

PS C:\> $Service = Get-SCService -Name "Service01"
PS C:\> $SvcTemplate = Get-SCServiceTemplate -Name "ServiceTemplate01"
PS C:\> $PendingTemplate = New-SCServiceTemplate -ServiceTemplate $SvcTemplate -Name "ServiceTemplate01" -Release "RTM"
PS C:\> Set-SCService -Service $Service -PendingServiceTemplate $PendingTemplate
PS C:\> Update-SCService -Service $Service

第一个命令获取名为 Service01 的服务对象,该对象是已部署的服务,并将对象存储在$Service变量中。

第二个命令获取名为 ServiceTemplate01 的服务模板对象,并将对象存储在$SvcTemplate变量中。

第三个命令创建存储在$SvcTemplate中的服务模板的 RTM 版本。

第五个命令将服务实例上的挂起模板设置为存储在$PendingTemplate中更新的服务模板。

最后一个命令更新 Service01。

示例 2:使用基于映像的服务更新服务

PS C:\> $Service = Get-SCService -Name "Service02"
PS C:\> $SvcTemplate = Get-SCServiceTemplate -Name "ServiceTemplate02"
PS C:\> $PendingTemplate = New-SCServiceTemplate -ServiceTemplate $SvcTemplate -Name "ServiceTemplate02" -Release "RTM"
PS C:\> $WebTier = Get-SCComputerTierTemplate -ServiceTemplate $PendingTemplate -Name "Web Tier"
PS C:\> $WebTemplate = Get-SCVMTemplate -ComputerTierTemplate $WebTier | Set-SCVMTemplate -MemoryMB 2048
PS C:\> $BaseDisk2 = Get-SCVirtualHardDisk -Name "Win2k8R2BaseDisk_Patched.vhd"
PS C:\> $VHD = Get-SCVirtualDiskDrive -VMTemplate $WebTemplate 
PS C:\> Remove-SCVirtualDiskDrive -VirtualDiskDrive $VHD
PS C:\> New-SCVirtualDiskDrive -VirtualHardDisk $BaseDisk2 -VMTemplate $WebTemplate -BootVolume -SystemVolume -Bus 0 -LUN 0 -IDE -VolumeType BootAndSystem

PS C:\> Set-SCService -Service $Service -PendingServiceTemplate $PendingTemplate 
PS C:\> Update-SCService -Service $Service

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

第二个命令获取名为 ServiceTemplate02 的服务模板对象,并将对象存储在$SvcTemplate变量中。

第三个命令将创建存储在 $SvcTemplate 中的服务模板的新版本,将其命名为 ServiceTemplate02,为它提供 RTM 版本,并将模板存储在$PendingTemplate中。

第四个命令为存储在$PendingTemplate的服务模板获取名为 Web 层的计算机层对象,并将对象存储在$WebTier变量中。

第五个命令将内存添加到存储在$WebTier的计算机层的虚拟机模板。

第六个命令获取名为 Win2k8R2BaseDisk_Patched.vhd 的虚拟硬盘对象,并将对象存储在 $BaseDisk 2 变量中。 此虚拟硬盘包含操作系统的更新版本。

第七个命令获取存储在$WebTemplate中的虚拟机模板上的虚拟磁盘驱动器对象,并将对象存储在$VHD变量中。

第八个命令删除存储在 $VHD 中的虚拟磁盘驱动器对象。

第九个命令将存储在 $BaseDisk 2 中的虚拟硬盘对象添加到存储在$WebTemplate中的虚拟机模板对象。

第十个命令将服务实例上的挂起模板设置为存储在$PendingTemplate中的更新服务模板。

最后一个命令更新 Service02。

参数

-JobVariable

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

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

-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

-Service

指定 VMM 服务对象。

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

-ShowActions

显示将执行的所有服务和业务流程操作。 此参数可用于调试。

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

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

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

输出

Service

此 cmdlet 返回 Service 对象。

备注

  • 需要 VMM 服务对象,可以使用 Get-SCService cmdlet 检索该对象。