Compartilhar 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 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 é armazenado.

Se uma pasta em um host foi criada para essa máquina virtual pelo VMM, em vez de pelo 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 chamado 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 VM0 de cadeia de caracteres 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 de 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 VM0 de cadeia de caracteres e que são 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 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 esse cmdlet exclui apenas a máquina virtual do banco de dados do VMM. Ele não exclui a própria máquina virtual.

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.

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

-JobVariable

Especifica uma variável na qual 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 usuário. Esse cmdlet opera em nome do usuário especificado por esse parâmetro.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

-PROTipID

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

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

-RunAsynchronously

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

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

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

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

Observações

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