Partilhar via


Remove-SCVirtualMachine

Remove um objeto de máquina virtual do VMM.

Syntax

Remove-SCVirtualMachine
      [-VM] <VM>
      [-SkipFileRemoval]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Description

O cmdlet Remove-SCVirtualMachine remove um objeto de máquina virtual implantado num hospedeiro ou armazenado num servidor de biblioteca Virtual Machine Manager (VMM).

Este cmdlet elimina o registo da máquina virtual da base de dados VMM, elimina todos os ficheiros associados à máquina virtual e remove a máquina virtual do anfitrião em que é implantada ou do servidor da biblioteca em que é armazenada.

Se uma pasta num hospedeiro tiver sido criada para esta máquina virtual por VMM, em vez de por Hiper-V ou VMware, e se essa pasta não contiver outras máquinas virtuais ou outros dados, pode utilizar o sistema de ficheiros para eliminar a pasta depois de ter removido a máquina virtual.

Se especificar o parâmetro Força , este cmdlet apenas elimina a máquina virtual da base de dados VMM. Não apaga a máquina virtual em si.

Este cmdlet devolve o objeto após o sucesso que tem um valor de $True para a propriedade MarkedForDeletion . Se falhar, o cmdlet devolve uma mensagem de erro.

Exemplos

Exemplo 1: Remover uma máquina virtual específica implantada num hospedeiro

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.VMHost.Name -eq "VMHost01.Contoso.com" -and $_.Name -eq "VM01" }
PS C:\> Remove-SCVirtualMachine -VM $VM

O primeiro comando obtém o objeto de máquina virtual chamado VM01 implantado no VMHost01 e, em seguida, armazena o objeto de máquina virtual na variável $VM.

O segundo comando remove o objeto armazenado em $VM e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros do seu anfitrião.

Exemplo 2: Remover todas as máquinas virtuais com nomes que incluam uma cadeia específica

PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine

O primeiro comando obtém todos os objetos de máquina virtuais implantados em qualquer hospedeiro cujo nome inclua a cadeia VM0 e, em seguida, armazena estes objetos de máquina virtual na matriz chamada $VMs.

O segundo comando remove cada objeto de máquina virtual na matriz $VMs e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros de cada hospedeiro.

Exemplo 3: Remover uma máquina virtual específica armazenada num servidor de biblioteca VMM

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer1.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -eq "VM02" }
PS C:\> Remove-SCVirtualMachine -VM $VM

O primeiro comando obtém o objeto que representa a máquina virtual chamada VM03 e, em seguida, armazena o objeto da máquina virtual em $VM. Neste exemplo, existe apenas uma máquina virtual chamada VM03.

O segundo comando remove o objeto que representa o VM03 da biblioteca e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros no servidor da biblioteca.

Exemplo 4: Remover várias máquinas virtuais armazenadas da biblioteca VMM

PS C:\> $VMs = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -match "VM0" }
PS C:\> $VMs | Remove-SCVirtualMachine -Confirm

O primeiro comando obtém todos os objetos de máquina virtuais cujos nomes incluem o VM0 de cadeia e que são armazenados no LibraryServer01. Em seguida, o comando armazena os objetos de máquina virtual na matriz chamada $VMs.

O segundo comando passa cada objeto de máquina virtual armazenado em $VMs para o cmdlet atual, que remove cada objeto da biblioteca e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros no servidor da biblioteca. O parâmetro Confirmar solicita-lhe que confirme se pretende eliminar cada uma destas máquinas virtuais.

Parâmetros

-Confirm

Solicita a sua confirmação antes de executar o cmdlet.

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

-Force

Indica que este cmdlet apenas elimina a máquina virtual da base de dados VMM. Não apaga a máquina virtual em si.

Nota

Para a máquina virtual implantada usando modelos de serviço ou VMRole, este parâmetro é ignorado e a máquina virtual real também é eliminada.

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

-JobVariable

Especifica uma variável em que o progresso do trabalho é rastreado e armazenado.

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

-OnBehalfOfUser

Especifica um nome de utilizador. Este cmdlet funciona em nome do utilizador que este parâmetro especifica.

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

-OnBehalfOfUserRole

Especifica uma função de utilizador. Para obter uma função de utilizador, utilize o cmdlet Get-SCUserRole . Este cmdlet funciona em nome da função de utilizador que este parâmetro especifica.

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

-PROTipID

Especifica o ID da ponta de otimização de desempenho e recursos (ponta PRO) que desencadeou esta ação. Este parâmetro permite-lhe auditar dicas PRO.

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

-RunAsynchronously

Indica que o trabalho funciona assíncronamente para que o controlo volte imediatamente à concha de comando.

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

-SkipFileRemoval

Indica que este cmdlet não remove ficheiros relacionados com máquinas virtuais diretamente. Se especificar este parâmetro, não é feita qualquer tentativa para eliminar quaisquer ficheiros diretamente.

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

-VM

Especifica um objeto de máquina virtual.

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

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

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

Notas

Este cmdlet requer um objeto de máquina virtual VMM, que pode ser recuperado utilizando o cmdlet Get-SCVirtualMachine .