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>]
Description
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 提示) 的識別碼。 此參數可讓您稽核 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
擷取。