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 停止虚拟机管理器(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 删除与虚拟机关联的已保存状态。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Force

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

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-JobVariable

指定在其中跟踪和存储作业进度的变量。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入: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 提示)的 ID。 此参数允许你审核 PRO 提示。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SaveState

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

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Shutdown

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VM

指定虚拟机对象。

类型:VM
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

输出

VirtualMachine

此 cmdlet 返回 VirtualMachine 对象。

备注

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