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
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
.