Compartilhar via


Remove-SCVirtualMachine

Remove um objeto de máquina virtual do VMM.

Sintaxe

Default (Padrão)

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 ela está 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 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 máquina virtual em si.

Esse cmdlet retorna o objeto em caso de êxito 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, 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 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 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 da máquina virtual em $VM. Neste exemplo, existe apenas uma máquina virtual chamada VM03.

O segundo comando remove o objeto que representa 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 no $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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-JobVariable

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

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-OnBehalfOfUser

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

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:UserRole
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:Guid
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-RunAsynchronously

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 nenhum arquivo diretamente.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-VM

Especifica um objeto de máquina virtual.

Propriedades do parâmetro

Tipo:VM
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Observações

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