Repair-SCVirtualMachine
修復處於失敗狀態的虛擬機。
語法
Repair-SCVirtualMachine
[-VM] <VM>
[-Dismiss]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Repair-SCVirtualMachine
[-VM] <VM>
[-Undo]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Repair-SCVirtualMachine
[-VM] <VM>
[-Retry]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Repair-SCVirtualMachine
[-VM] <VM>
[-Agent]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Repair-SCVirtualMachine
[-VM] <VM>
[-MigrateDBOnlyVM]
-VMHost <Host>
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
Repair-SCVirtualMachine Cmdlet 會修復處於 Virtual Machine Manager (VMM) 所管理主機上失敗狀態的虛擬機。 虛擬機可以處於下列其中一種失敗狀態:
- 建立失敗
- 移轉失敗
- 更新失敗
- 刪除失敗
您可以使用此指令來修復失敗,如下所示:
- 重試。 嘗試再次執行失敗的工作。
- 恢復。 嘗試復原對虛擬機所做的任何變更,並將其還原為狀況良好的狀態。 例如,如果 Move-SCVirtualMachine 作業失敗,復原會嘗試將虛擬機移回其先前的主機。
- 解僱。 關閉失敗的作業,並根據虛擬機的目前狀態更新虛擬機。 如果您手動修正失敗,您可以使用 [關閉] 選項來重新整理 VMM 資料庫中虛擬機的數據。 不過,使用 [關閉] 選項可能會將對象傳回失敗狀態。
當您執行此 Cmdlet 時,一次只能指定一種動作類型。
您可以使用 Agent 參數,執行此 Cmdlet 來修復屬於服務一部分之虛擬機的客體代理程式。
範例
範例 1:重試移轉工作來修復失敗的移轉工作
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> Repair-SCVirtualMachine -VM $VM -Retry
第一個命令會取得名為 VM01 的虛擬機對象,然後將該物件儲存在$VM變數中。 在此範例中,您想要修復失敗的移動動作。
第二個命令會重新啟動先前失敗的移轉工作,以修復儲存在 $VM 中的虛擬機物件。
範例 2:在屬於服務的指定虛擬機上修復或升級 VMM 客體代理程式
PS C:\> $VM = Get-SCVirtualMachine -Name "ServiceVM01"
PS C:\> $Creds = Get-Credential
PS C:\> Repair-SCVirtualMachine -VM $VM -Credential $Creds -Agent
第一個命令會取得名為 ServiceVM01 的虛擬機對象,然後將該物件儲存在$VM變數中。 在此範例中,虛擬機是服務的一部分。
第二個命令會取得認證物件,該對象必須是要修復之虛擬機上的本機系統管理員,然後將該物件儲存在$Creds變數中。
第三個命令會修復儲存在 $VM的虛擬機物件上的客體代理程式。
參數
-Agent
指出此 Cmdlet 會視需要修復或升級 VMM 客體代理程式。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Dismiss
關閉物件上的錯誤,或服務實例上的更新通知。
關閉錯誤之後,就會重新整理物件。 如果錯誤再次出現,重新整理無法解決問題,您必須修正錯誤。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
強制作業完成。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-JobVariable
指定作業進度的變數名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-MigrateDBOnlyVM
指出此 Cmdlet 使用 MigrateDBOnlyVM。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | 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 |
-Retry
指出此 Cmdlet 會重試在虛擬機上失敗的最後一項工作,嘗試順利完成工作。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-RunAsynchronously
表示作業會以異步方式執行,讓控件立即返回命令殼層。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Undo
指出此 Cmdlet 會取消虛擬機上執行的最後一個作業,並反轉任何所做的變更。 只有在最近的作業失敗時,才能使用此參數。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-VM
指定虛擬機物件。
類型: | VM |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-VMHost
指定虛擬機主機物件。 VMM 支援 Hyper-V 主機、VMware ESX 主機和 Citrix XenServer 主機。 如需每種主機類型的詳細資訊,請參閱 Add-SCVMHost Cmdlet。
類型: | Host |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
輸出
VirtualMachine
備註
- 此 Cmdlet 需要虛擬機物件,您可以使用 get-SCVirtualMachine Cmdlet 來擷取此物件。