Remove-SCVMHost

从 VMM 中删除虚拟机主机。

语法

Remove-SCVMHost
      [-VMHost] <Host>
      [-VMMServer <ServerConnection>]
      [-Credential <VMMCredential>]
      [-RemoveHostWithVMs]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-SCVMHost
      [-VMHost] <Host>
      [-VMMServer <ServerConnection>]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

Remove-SCVMHost cmdlet 从 Virtual Machine Manager (VMM) 中删除一个或多个虚拟机主机。 Remove-SCVMHost cmdlet 按如下所示操作:

  • 仅主机服务器。 如果此计算机是 Hyper-V 主机,但不是库服务器,则从 VMM 数据库中删除主机对象,并从物理主机服务器卸载 VMM 代理软件。

如果主机是 VMware ESX 主机或 Citrix XenServer 主机,则主机对象将从 VMM 数据库中删除。 VMM 不会在 ESX 主机或 XenServer 主机上安装代理。

  • 主机和库服务器。 如果此计算机是 Hyper-V 主机,也是库服务器,则此命令仅删除主机功能,但保留库服务器功能。 也就是说,主机对象将从 VMM 数据库中删除,但不会从物理服务器卸载 VMM 代理软件。 库服务器对象仍保留在数据库中。

如果主机是 ESX 主机,则它只能作为 VMM 中的虚拟机主机运行。 不能既充当主机又充当库服务器。

  • 凭据。 如果 Hyper-V 主机已加入 Active Directory 域,则必须为具有相应权限的帐户提供凭据,以便从 VMM 中删除该主机。

无需提供 Active Directory 凭据即可从 VMM 中删除外围网络主机、ESX 主机或 XenServer 主机。

  • 虚拟机: 删除主机时,主机不再由 VMM 管理。 但是,主机服务器上的任何虚拟机都不会从服务器中删除或取消关联。 不会关闭正在运行的虚拟机。 尽管虚拟机不再由 VMM 管理,但它们不会以任何方式受到影响。
  • 强制删除。 当没有适当的凭据管理该主机或 VMM 服务器无法再与该主机通信时,可以将 Force 参数与 Remove-SCVMHost cmdlet 配合使用,从 VMM 中删除虚拟机主机。

指定 Force 参数时,VMM 不会请求或检查凭据,VMM 也不会尝试连接到主机并卸载 VMM 代理。 因此,仅在从 VMM 数据库中删除过时的主机记录时,才建议使用 Force 参数。

此 cmdlet 在成功 (时返回对象,属性 MarkedForDeletion 设置为$True) 或失败时返回错误消息。

示例

示例 1:从 VMM 中删除特定已加入域的主机

PS C:\> $Credential = Get-Credential
PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost01"
PS C:\> Remove-SCVMHost -VMHost $VMHost -Credential $Credential -Confirm

第一个命令使用 Get-Credential cmdlet 提示你提供用户名和密码,并将提供的凭据存储在$Credential变量中。 此操作所需的凭据是具有管理员权限的域帐户,用于从 VMM 中删除已加入 Active Directory 域的基于 Windows 的主机服务器。

第二个命令获取名为 VMHost01 的主机对象,并将对象存储在$VMHost变量中。

第三个命令删除存储在$VMHost中的主机对象。 处理此命令时,$Credential提供 用于 Remove-VMHost 的凭据,“ 确认 ”参数会提示你确认是否要从 VMM 中删除此主机。

示例 2:从 VMM 中删除不是主机群集中节点的所有主机

PS C:\> Get-SCVMHost | where {$_.HostCluster -eq $NULL} | where {$_.VirtualizationPlatform -eq "VMwareESX" -or $_.PerimeterNetworkHost -eq 1 -or $_.NonTrustedDomainHost -eq 1} | Remove-SCVMHost -Confirm
PS C:\> $Credential = Get-Credential
PS C:\> Get-VMHost | where {$_.HostCluster -eq $NULL -and $_.VirtualizationPlatform -ne "VMwareESX" -and $_.PerimeterNetworkHost -eq 0 -and $_.NonTrustedDomainHost -eq 0} | Remove-VMHost -Credential $Credential -Confirm

第一个命令获取所有主机对象,排除主机群集中节点的任何主机,仅选择表示 VMware ESX 主机、外围网络主机或非受信任域主机的对象,然后从 VMM 中删除这些对象(如果确认要删除这些对象)。 删除这些主机不需要提供凭据。

第二个命令会提示你为有权从 VMM 中删除已加入域的 Windows 主机的帐户提供用户名和密码,并将凭据存储在$Credential中。

最后一个命令获取不属于主机群集的所有基于域的基于 Windows 的主机对象,并将对象传递给 Remove-VMHost cmdlet。 处理此命令时,$Credential提供 用于 Remove-VMHost 的凭据, “确认 ”参数会提示你确认是否要从 VMM 中删除这些主机。

示例 3:删除无法再从 VMM 访问的特定主机

PS C:\> $VMHost = Get-SCVMHost -ComputerName "VMHost03"
PS C:\> Remove-SCVMHost -VMHost $VMHost -Force -Confirm

第一个命令获取名为 VMHost03 的主机对象,并将对象存储在$VMHost变量中。

Force 参数上的第二个命令切换,以确保从 VMM 数据库中删除 VMHost03。 此操作不需要凭据。 Confirm 参数会提示你确认是否要删除此主机。

注意:当没有该主机的凭据或 VMM 服务器无法再与该主机通信时,可以使用 Force 参数从 VMM 中删除主机。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

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

-Credential

指定凭据对象,或者,对于某些 cmdlet,一个运行方式帐户对象,该对象包含有权执行此操作的帐户的用户名和密码。 或者,对于 Restart-SCJob,有权完成重启的任务。

有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential

有关运行方式帐户的详细信息,请键入 Get-Help New-SCRunAsAccount

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

-Force

强制运行命令而不要求用户确认。

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

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

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

-RemoveHostWithVMs

有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential

有关运行方式帐户的详细信息,请键入 Get-Help New-SCRunAsAccount

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

-VMHost

指定一个虚拟主机对象。 VMM 支持 Hyper-V 主机、VMware ESX 主机和 Citrix XenServer 主机。

有关每种主机类型的详细信息,请参阅 Add-SCVMHost cmdlet。

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

-VMMServer

指定VMM 服务器对象。

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

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

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