Partilhar 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 Virtual Machine Manager (VMM).

Este 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 ela é implantada ou do servidor de biblioteca no qual ela está armazenada.

Se uma pasta em um host foi 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 máquina virtual em si.

Este cmdlet retorna o objeto após o êxito que tem um valor de $True para o MarkedForDeletion propriedade. 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 chamado VM01 implantado em VMHost01 e, em seguida, armazena o objeto de máquina virtual na variável $VM.

O segundo comando remove o objeto armazenado no $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 incluam 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 inclua a cadeia de caracteres VM0 e, em seguida, 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, em seguida, armazena o objeto de 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 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 armazenados em 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 Confirm solicita que você confirme se deseja excluir cada uma dessas máquinas virtuais.

Parâmetros

-Confirm

Solicita confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Force

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

Observação

Para 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
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-JobVariable

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

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-OnBehalfOfUser

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

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-OnBehalfOfUserRole

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

Tipo:UserRole
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-PROTipID

Especifica a ID da dica de Otimização de Desempenho e Recursos (dica PRO) que disparou essa ação. Este parâmetro permite auditar dicas PRO.

Tipo:Guid
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-RunAsynchronously

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

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-SkipFileRemoval

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

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-VM

Especifica um objeto de máquina virtual.

Tipo:VM
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Notas

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