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
指定在此参数命名的变量中跟踪和存储作业进度。
类型: | String |
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 |
-PROTipID
指定触发此操作的性能和资源优化提示(PRO 提示)的 ID。 此参数允许你审核 PRO 提示。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-RunAsynchronously
指示作业以异步方式运行,以便控件立即返回到命令行界面。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Service
指定 VMM 服务对象。
类型: | Service |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ShowActions
显示将执行的所有服务和业务流程操作。 此参数可用于调试。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-VMMServer
指定 VMM 服务器对象。
类型: | ServerConnection |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
输出
Service
此 cmdlet 返回 Service 对象。
备注
- 需要 VMM 服务对象,可以使用 Get-SCService cmdlet 进行检索。