New-SCVMCheckpoint
建立 VMM 所管理主機上所部署虛擬機器的檢查點。
Syntax
New-SCVMCheckpoint
[-VM] <VM>
[-VMMServer <ServerConnection>]
[-Description <String>]
[-Name <String>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
New-SCVMCheckpoint Cmdlet 會為 Virtual Machine Manager 所管理的主機上部署的虛擬機器建立檢查點, (VMM) 。 您可以使用檢查點,將虛擬機器還原為先前的狀態。
一般用途是先建立檢查點,再將更新安裝至作業系統或虛擬機器上的應用程式,如此一來,如果更新失敗或對虛擬機器造成負面影響,您可以使用 Restore-SCVMCheckpoint Cmdlet 將虛擬機器還原為先前的狀態。
對於部署在 Hyper-V 主機、VMware ESX 主機或 Citrix XenServer 主機上的虛擬機器,VMM 會建立檢查點而不停止虛擬機器,因此不會中斷服務。
請務必先備份虛擬機器上的資料檔,再將虛擬機器還原至檢查點。 當您還原虛擬機器時,其虛擬硬碟上的使用者資料檔會回復到先前的狀態。
雖然檢查點可讓您在變更 (如系統或應用程式更新) 之後將虛擬機器還原為先前的狀態,但是檢查點不提供作業系統、應用程式或檔案的永久備份。 檢查點會隨著虛擬機器存放在主機上。 因此,如果主機失敗,則會遺失部署於該主機之虛擬機器的檢查點。
若要為您的虛擬機器提供資料保護,您可以使用磁片區陰影複製服務 (VSS) 。 您可以使用 Data Protection Manager (DPM) 等備份應用程式,將任何類型的主機上的虛擬機器備份至外部儲存體。
您可以授與自助使用者為其虛擬機器建立及管理檢查點的權限。
如需詳細資訊,請鍵入 Get-Help Set-VMMUserRole -Detailed
。
範例
範例 1:為具有相同名稱但位於不同主機上的虛擬機器建立虛擬機器檢查點
PS C:\> $Checkpoints = Get-SCVirtualMachine -Name "VM01" | New-SCVMCheckpoint
PS C:\> $Checkpoints
第一個命令會取得名為 VM01 的虛擬機器物件, (本範例假設有多個主機包含名為 VM01 的虛擬機器) 、為每個虛擬機器物件建立檢查點,然後將檢查點物件儲存在$Checkpoints物件陣列中。
第二個命令會顯示儲存在$Checkpoints給使用者之每個檢查點物件的相關資訊。
範例 2:以非同步方式建立虛擬機器的虛擬機器檢查點
PS C:\> Get-SCVirtualMachine -Name "VM02" | New-SCVMCheckpoint -RunAsynchronously -JobVariable "NewCheckpiontJob"
PS C:\> Write-Host $NewCheckpointJob
這個範例會以與範例 1 相同的方式建立檢查點,但此命令會使用 RunAsynchronously 參數立即將控制權傳回命令殼層,並使用 JobVariable 參數來追蹤作業進度,並將進度的記錄儲存在 NewCheckpointJob 變數中。 當您使用 JobVariable 參數時,不會使用貨幣符號 ($) 來建立變數。
第二個命令會顯示$NewCheckpointJob的內容。
參數
-Confirm
在執行 Cmdlet 前提示您確認。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
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 |
-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 提示 (PRO 提示的識別碼) 。 此參數可讓您稽核 PRO 秘訣。
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
表示作業會以非同步方式執行,讓控制項立即返回命令殼層。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
指定虛擬機器物件。
Type: | VM |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
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 |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸出
VMCheckpoint
此 Cmdlet 會傳回 VMCheckpoint 物件。