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 num hospedeiro ou armazenado num servidor de biblioteca Virtual Machine Manager (VMM).
Este cmdlet elimina o registo da máquina virtual da base de dados VMM, elimina todos os ficheiros associados à máquina virtual e remove a máquina virtual do anfitrião em que é implantada ou do servidor da biblioteca em que é armazenada.
Se uma pasta num hospedeiro tiver sido criada para esta máquina virtual por VMM, em vez de por Hiper-V ou VMware, e se essa pasta não contiver outras máquinas virtuais ou outros dados, pode utilizar o sistema de ficheiros para eliminar a pasta depois de ter removido a máquina virtual.
Se especificar o parâmetro Força , este cmdlet apenas elimina a máquina virtual da base de dados VMM. Não apaga a máquina virtual em si.
Este cmdlet devolve o objeto após o sucesso que tem um valor de $True para a propriedade MarkedForDeletion . Se falhar, o cmdlet devolve uma mensagem de erro.
Exemplos
Exemplo 1: Remover uma máquina virtual específica implantada num hospedeiro
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 em $VM e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros do seu anfitrião.
Exemplo 2: Remover todas as máquinas virtuais com nomes que incluam uma cadeia 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 virtuais implantados em qualquer hospedeiro cujo nome inclua a cadeia VM0 e, em seguida, armazena estes objetos de máquina virtual na matriz chamada $VMs.
O segundo comando remove cada objeto de máquina virtual na matriz $VMs e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros de cada hospedeiro.
Exemplo 3: Remover uma máquina virtual específica armazenada num servidor de biblioteca 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 o VM03 da biblioteca e elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros no servidor da biblioteca.
Exemplo 4: Remover várias máquinas virtuais armazenadas da biblioteca 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 virtuais cujos nomes incluem o VM0 de cadeia e que são armazenados no LibraryServer01. Em seguida, o comando armazena os objetos de 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 elimina os ficheiros de máquinas virtuais correspondentes do sistema de ficheiros no servidor da biblioteca. O parâmetro Confirmar solicita-lhe que confirme se pretende eliminar cada uma destas máquinas virtuais.
Parâmetros
-Confirm
Solicita a 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 este cmdlet apenas elimina a máquina virtual da base de dados VMM. Não apaga a máquina virtual em si.
Nota
Para a máquina virtual implantada usando modelos de serviço ou VMRole, este parâmetro é ignorado e a máquina virtual real também é eliminada.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Especifica uma variável em que 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 utilizador. Este cmdlet funciona em nome do utilizador que este parâmetro especifica.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Especifica uma função de utilizador. Para obter uma função de utilizador, utilize o cmdlet Get-SCUserRole . Este cmdlet funciona em nome da função de utilizador que este parâmetro especifica.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Especifica o ID da ponta de otimização de desempenho e recursos (ponta PRO) que desencadeou esta ação. Este parâmetro permite-lhe auditar dicas PRO.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Indica que o trabalho funciona assíncronamente para que o controlo volte imediatamente à concha de comando.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipFileRemoval
Indica que este cmdlet não remove ficheiros relacionados com máquinas virtuais diretamente. Se especificar este parâmetro, não é feita qualquer tentativa para eliminar quaisquer ficheiros 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
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Notas
Este cmdlet requer um objeto de máquina virtual VMM, que pode ser recuperado utilizando o cmdlet Get-SCVirtualMachine .