Stop-SCVirtualMachine

停止 VMM 管理的虚拟机。

语法

Stop-SCVirtualMachine
    [-VM] <VM>
    [-Shutdown]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]
Stop-SCVirtualMachine
    [-VM] <VM>
    [-SaveState]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]
Stop-SCVirtualMachine
    [-VM] <VM>
    [-DiscardSavedState]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]
Stop-SCVirtualMachine
    [-VM] <VM>
    [-Force]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

说明

Stop-SCVirtualMachine cmdlet 在 Virtual Machine Manager (VMM) 托管的主机上停止一个或多个正在运行的虚拟机,并返回处于已停止状态的虚拟机对象。

此 cmdlet 停止虚拟机,就像关闭计算机上的操作系统一样。 如果指定 Force 参数,此 cmdlet 将停止虚拟机,就像关闭计算机一样。

若要恢复已停止的虚拟机,请使用 Start-SCVirtualMachine cmdlet。

示例

示例 1:停止指定的虚拟机

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> Stop-SCVirtualMachine -VM $VM

第一个命令获取名为 VM01 的虚拟机对象,然后将该对象存储在$VM变量中。

第二个命令停止存储在$VM中的虚拟机,并显示有关已停止对象的信息。

示例 2:停止多个虚拟机

PS C:\> $VMs = Get-SCVirtualMachine | where { $_.Name -match "VM" -and $_.Status -eq "Running" }
PS C:\> $VMs | Stop-SCVirtualMachine

第一个命令获取名称包含字符串 VMM 且当前状态为“正在运行”的所有虚拟机对象。 然后,该命令将这些对象存储在$VMs数组中。

第二个命令将存储在$VMs中的每个虚拟机对象传递给当前 cmdlet,这会停止每个虚拟机。 此命令显示有关已停止的虚拟机的信息。

参数

-DiscardSavedState

指示此 cmdlet 删除与虚拟机关联的已保存状态。

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

-Force

指示此 cmdlet 停止虚拟机就像关闭计算机一样。

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

-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

-RunAsynchronously

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

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

-SaveState

指示此 cmdlet 保存虚拟机的状态。

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

-Shutdown

指示此 cmdlet 关闭虚拟机。 此 cmdlet 使用操作系统正常关闭虚拟机。

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

输出

VirtualMachine

此 cmdlet 返回 VirtualMachine 对象。

备注

  • 此 cmdlet 需要一个虚拟机对象,可以使用 Get-SCVirtualMachine cmdlet 来检索该对象。