Compartilhar via


Remove-SCVirtualMachine

Remove um objeto de máquina virtual do VMM.

Sintaxe

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 em um host ou armazenado em um servidor de biblioteca do VMM (Virtual Machine Manager).

Esse cmdlet exclui o registro da máquina virtual do banco de dados do VMM, exclui todos os arquivos associados à máquina virtual e remove a máquina virtual do host no qual ele é implantado ou do servidor de biblioteca no qual ele está armazenado.

Se uma pasta em um host tiver sido criada para essa máquina virtual pelo VMM, em vez de por Hyper-V ou VMware, e se essa pasta não contiver outras máquinas virtuais ou outros dados, você poderá usar o sistema de arquivos para excluir a pasta depois de remover a máquina virtual.

Se você especificar o parâmetro Force, esse cmdlet excluirá apenas a máquina virtual do banco de dados do VMM. Ele não exclui a própria máquina virtual.

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

Exemplos

Exemplo 1: remover uma máquina virtual específica implantada em um host

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 denominado VM01 implantado no VMHost01 e armazena o objeto de máquina virtual na variável $VM.

O segundo comando remove o objeto armazenado em $VM e exclui os arquivos de máquina virtual correspondentes do sistema de arquivos em seu host.

Exemplo 2: remover todas as máquinas virtuais com nomes que incluem uma cadeia de caracteres 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 virtual implantados em qualquer host cujo nome inclui a cadeia de caracteres VM0 e armazena esses objetos de máquina virtual na matriz chamada $VMs.

O segundo comando remove cada objeto de máquina virtual na matriz $VMs e exclui os arquivos de máquina virtual correspondentes do sistema de arquivos em cada host.

Exemplo 3: remover uma máquina virtual específica armazenada em um servidor de biblioteca do 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 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 a VM03 da biblioteca e exclui os arquivos de máquina virtual correspondentes do sistema de arquivos no servidor de biblioteca.

Exemplo 4: remover várias máquinas virtuais armazenadas da biblioteca do 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 virtual cujos nomes incluem a cadeia de caracteres VM0 e que são armazenados no LibraryServer01. Em seguida, o comando armazena os objetos da 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 exclui os arquivos de máquina virtual correspondentes do sistema de arquivos no servidor de biblioteca. O parâmetro Confirme solicita que você confirme se deseja excluir cada uma dessas máquinas virtuais.

Parâmetros

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Force

Indica que esse cmdlet exclui apenas a máquina virtual do banco de dados do VMM. Ele não exclui a própria máquina virtual.

Nota

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-JobVariable

Especifica uma variável na qual o progresso do trabalho é acompanhado e armazenado.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OnBehalfOfUser

Especifica um nome de usuário. Esse cmdlet opera em nome do usuário especificado por esse parâmetro.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OnBehalfOfUserRole

Especifica uma função de usuário. Para obter uma função de usuário, use o cmdlet Get-SCUserRole. Esse cmdlet opera em nome da função de usuário especificada por esse parâmetro.

Tipo:UserRole
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-PROTipID

Especifica a ID da dica de Otimização de Recursos e Desempenho (dica PRO) que disparou essa ação. Esse parâmetro permite que você audite dicas pro.

Tipo:Guid
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-RunAsynchronously

Indica que o trabalho é executado de forma assíncrona para que o controle retorne ao shell de comando imediatamente.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SkipFileRemoval

Indica que esse cmdlet não remove arquivos relacionados à máquina virtual diretamente. Se você especificar esse parâmetro, nenhuma tentativa será feita para excluir arquivos diretamente.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-VM

Especifica um objeto de máquina virtual.

Tipo:VM
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Observações

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