Remove-SCVirtualMachine

Quita un objeto de máquina virtual de VMM.

Syntax

Remove-SCVirtualMachine
      [-VM] <VM>
      [-SkipFileRemoval]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Description

El cmdlet Remove-SCVirtualMachine quita un objeto de máquina virtual implementado en un host o almacenado en un servidor de biblioteca de Virtual Machine Manager (VMM).

Este cmdlet elimina el registro de máquina virtual de la base de datos VMM, elimina todos los archivos asociados a la máquina virtual y quita la máquina virtual del host en el que se implementa o del servidor de biblioteca en el que se almacena.

Si VMM creó una carpeta en un host para esta máquina virtual, en lugar de por Hyper-V o VMware, y si esa carpeta no contiene otras máquinas virtuales u otros datos, puede usar el sistema de archivos para eliminar la carpeta después de haber quitado la máquina virtual.

Si especifica el parámetro Force , este cmdlet solo elimina la máquina virtual de la base de datos VMM. No elimina la propia máquina virtual.

Este cmdlet devuelve el objeto si se ejecuta correctamente que tiene un valor de $True para la propiedad MarkedForDeletion . Si se produce un error, el cmdlet devuelve un mensaje de error.

Ejemplos

Ejemplo 1: Eliminación de una máquina virtual específica implementada en un 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

El primer comando obtiene el objeto de máquina virtual denominado VM01 implementado en VMHost01 y, a continuación, almacena el objeto de máquina virtual en la variable $VM.

El segundo comando quita el objeto almacenado en $VM y elimina los archivos de máquina virtual correspondientes del sistema de archivos en su host.

Ejemplo 2: Eliminación de todas las máquinas virtuales con nombres que incluyen una cadena específica

PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine

El primer comando obtiene todos los objetos de máquina virtual implementados en cualquier host cuyo nombre incluya la cadena VM0 y, a continuación, almacena estos objetos de máquina virtual en la matriz denominada $VMs.

El segundo comando quita cada objeto de máquina virtual de la matriz $VMs y elimina los archivos de máquina virtual correspondientes del sistema de archivos de cada host.

Ejemplo 3: Eliminación de una máquina virtual específica almacenada en un 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

El primer comando obtiene el objeto que representa la máquina virtual denominada VM03 y, a continuación, almacena el objeto de máquina virtual en $VM. En este ejemplo, solo existe una máquina virtual denominada VM03.

El segundo comando quita de la biblioteca el objeto que representa VM03 y elimina los archivos de máquina virtual correspondientes del sistema de archivos del servidor de biblioteca.

Ejemplo 4: Eliminación de varias máquinas virtuales almacenadas de la 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

El primer comando obtiene todos los objetos de máquina virtual cuyos nombres incluyen la cadena VM0 y que se almacenan en LibraryServer01. A continuación, el comando almacena los objetos de máquina virtual en la matriz denominada $VMs.

El segundo comando pasa cada objeto de máquina virtual almacenado en $VMs al cmdlet actual, que quita cada objeto de la biblioteca y elimina los archivos de máquina virtual correspondientes del sistema de archivos en el servidor de biblioteca. El parámetro Confirm le pide que confirme si desea eliminar cada una de estas máquinas virtuales.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el 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 solo elimina la máquina virtual de la base de datos VMM. No elimina la propia máquina virtual.

Nota

En el caso de la máquina virtual implementada mediante plantillas de servicio o VMRole, este parámetro se omite y la máquina virtual real también se elimina.

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

-JobVariable

Especifica una variable en la que se realiza un seguimiento del progreso del trabajo y se almacena.

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

-OnBehalfOfUser

Especifica un nombre de usuario. Este cmdlet funciona en nombre del usuario que especifica este parámetro.

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

-OnBehalfOfUserRole

Especifica un rol de usuario. Para obtener un rol de usuario, use el cmdlet Get-SCUserRole . Este cmdlet funciona en nombre del rol de usuario que especifica este parámetro.

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

-PROTipID

Especifica el identificador de la sugerencia de optimización de recursos y rendimiento (sugerencia PRO) que desencadenó esta acción. Este parámetro le permite auditar sugerencias pro.

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

-RunAsynchronously

Indica que el trabajo se ejecuta de forma asincrónica para que el control vuelva inmediatamente al shell de comandos.

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

-SkipFileRemoval

Indica que este cmdlet no quita directamente los archivos relacionados con la máquina virtual. Si especifica este parámetro, no se intenta eliminar ningún archivo directamente.

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

-VM

Especifica un objeto de máquina virtual.

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Notas

Este cmdlet requiere un objeto de máquina virtual VMM, que se puede recuperar mediante el cmdlet Get-SCVirtualMachine .