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>]

说明

Repair-SCVirtualMachine cmdlet 修复虚拟机处于故障状态,该虚拟机位于 Virtual Machine Manager 托管的主机上 (VMM) 。 虚拟机可以处于以下失败状态之一:

  • 创建失败
  • 迁移失败
  • 更新失败
  • 删除失败

您可以使用以下命令来修复失败:

  • Retry。 尝试再次执行失败的作业。
  • 撤消。 尝试撤消对虚拟机所做的任何更改,并将其还原到正常状态。 例如,如果Move-SCVirtualMachine作业失败,撤消会尝试将虚拟机移回其以前的主机。
  • 解雇。 关闭失败的作业,并根据虚拟机的当前状态更新虚拟机。 如果手动修复失败,可以使用“关闭”选项刷新 VMM 数据库中虚拟机的数据。 不过,使用“解除”选项可能会令对象返回到失败状态。

运行此 cmdlet 时,一次只能指定一种类型的操作。

可以运行此 cmdlet 来修复作为服务一部分的虚拟机的来宾内代理,方法是使用 Agent 参数。

示例

示例 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 提示) 的性能和资源优化提示的 ID。 此参数允许审核 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

指示作业以异步方式运行,以便控件立即返回到命令 shell。

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 来检索该对象。