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.