共用方式為


Repair-SCVirtualMachine

修復處於失敗狀態的虛擬機器。

Syntax

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 客體內代理程式,視情況適用。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Dismiss

關閉物件上的錯誤,或服務實例上的更新通知。

關閉錯誤之後,物件就會重新整理。 如果錯誤再次發生,表示重新整理後並未解決問題,您必須修正問題。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

強制作業完成。

Type:SwitchParameter
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

-MigrateDBOnlyVM

指出此 Cmdlet 使用 MigrateDBOnlyVM。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
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

-Retry

指出此 Cmdlet 會嘗試順利完成工作,重試虛擬機器上失敗的最後一個工作。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
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

-Undo

指出此 Cmdlet 會取消在虛擬機器上執行的最後一個作業,並反轉所做的任何變更。 只有最近的工作失敗時,才能使用這個參數。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
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

-VMHost

指定虛擬機器主機物件。 VMM 支援 Hyper-V 主機、VMware ESX 主機和 Citrix XenServer 主機。 如需每種主機類型的詳細資訊,請參閱 Add-SCVMHost Cmdlet。

Type:Host
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

輸出

VirtualMachine

備註

  • 此 Cmdlet 需要虛擬機器物件,可以使用 Get-SCVirtualMachine Cmdlet 來擷取。