Compartir a través de


Remove-SCVirtualDiskDrive

Quita las unidades de disco virtual de una máquina virtual o de una plantilla de máquina virtual.

Sintaxis

Remove-SCVirtualDiskDrive
      [-VirtualDiskDrive] <VirtualDiskDrive>
      [-SkipDeleteVHD]
      [-JobGroup <Guid>]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Description

El cmdlet Remove-SCVirtualDiskDrive quita objetos de unidad de disco virtual de una máquina virtual o de una plantilla de máquina virtual en un entorno de Virtual Machine Manager (VMM).

Ejemplos

Ejemplo 1: Eliminación de una unidad de disco virtual de una máquina virtual

PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" }
PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM)
PS C:\> If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}

El primer comando obtiene el objeto de máquina virtual denominado VM01 implementado en VMHost01 mediante el cmdlet Get-SCVirtualMachine. El comando almacena ese objeto en la variable $VM.

El segundo comando obtiene todos los objetos de unidad de disco virtual en VM01 y, a continuación, almacena los objetos recuperados en $VirtDiskDrive. El uso del símbolo @ y los paréntesis garantiza que el comando almacena los resultados en una matriz, incluso si el comando devuelve un solo objeto o un valor de $Null.

El último comando devuelve el número de unidades de disco virtual asociadas a la máquina virtual y, a continuación, si existe más de una, el comando quita la segunda unidad de disco virtual, designada por [1], de la máquina virtual.

Ejemplo 2: Eliminación de todos los discos de paso a través conectados a una máquina virtual

PS C:\> $VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"}
PS C:\> $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False})
PS C:\> If($VirtDiskDrives.Count -Gt 0){ForEach($VirtDiskDrive in $VirtDiskDrives){Remove-SCVirtualDiskDrive -Force -VirtualDiskDrive $VirtDiskDrive}}

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

El segundo comando obtiene todos los objetos de unidad de disco virtual conectados a VM02 que no son discos duros virtuales. El comando obtiene solo objetos que representan discos de paso a través. El comando almacena los objetos de disco de paso a través en la matriz de objetos $VDDs.

El último comando usa un instrucción If para determinar si existe al menos una unidad de disco virtual de paso a través. Si el resultado es uno o varios, el comando usa la instrucción ForEach para quitar cada unidad de disco virtual de la matriz de objetos. Para obtener más información, escriba Get-Help about_If y Get-Help about_Foreach.

El último comando especifica el parámetro Force. Por lo tanto, el comando quita cada unidad de disco virtual de su máquina virtual aunque otros objetos VMM dependan de esa unidad de disco virtual.

Ejemplo 3: Eliminación de unidades de disco virtual por nombre

PS C:\> $VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"})
PS C:\> ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM 
PS C:\> ForEach-Object ($VirtDiskDrive in $VirtDiskDrives){If($VirtDiskDrive.Name -Match "LOBData"){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive}}}

El primer comando obtiene todos los objetos de máquina virtual cuyo nombre coincide con la cadena WebSrvLOB y, a continuación, almacena esos objetos en la matriz de $VM.

Los dos comandos siguientes usan el cmdlet ForEach-Object para recorrer en iteración las máquinas virtuales almacenadas en $VM para obtener todos los objetos de unidad de disco virtual de cada máquina virtual. El segundo comando almacena los objetos de unidad de disco virtual en la matriz de objetos $VirtDiskDrives.

El tercer comando usa un segundo bucle forEach para seleccionar todos los objetos de unidad de disco virtual cuyo nombre contiene la cadena LOBData de la matriz $VirtDiskDrives y pasa estos objetos al cmdlet actual. Este cmdlet quita los objetos de VMM.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Obliga a que finalice la operación.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-JobGroup

Especifica un identificador para una serie de comandos que se ejecutan como un conjunto justo antes de que se ejecute el mismo identificador de grupo de trabajos.

Tipo:Guid
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-JobVariable

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

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-OnBehalfOfUser

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

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:UserRole
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PROTipID

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

Tipo:Guid
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-RunAsynchronously

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

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SkipDeleteVHD

Indica que este cmdlet no es el archivo VHD mientras quita la unidad de disco virtual.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VirtualDiskDrive

Especifica un objeto de unidad de disco virtual. Puede conectar un disco duro virtual o un disco de paso a través a un objeto de unidad de disco virtual.

Tipo:VirtualDiskDrive
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Notas

  • Requiere un objeto de unidad de disco virtual VMM, que se puede recuperar mediante el cmdlet Get-SCVirtualDiskDrive .