共用方式為


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 來擷取此物件。