Compartir a través de


Remove-SCVirtualDiskDrive

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

Sintaxis

Default (Es el valor predeterminado).

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: Quitar 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 la 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 almacene los resultados en una matriz, incluso si el comando devuelve un solo objeto o un valor $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: Quitar 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 solo obtiene 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 utiliza una 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 utiliza 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, incluso si otros objetos VMM dependen de esa unidad de disco virtual.

Ejemplo 3: Quitar 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 coincida con la cadena WebSrvLOB y, a continuación, almacena esos objetos en la matriz $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 la 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.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Force

Fuerza la finalización de la operación.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-JobGroup

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

Propiedades del parámetro

Tipo:Guid
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-JobVariable

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

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-OnBehalfOfUser

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

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-OnBehalfOfUserRole

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

Propiedades del parámetro

Tipo:UserRole
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:Guid
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-RunAsynchronously

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SkipDeleteVHD

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-VirtualDiskDrive

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

Propiedades del parámetro

Tipo:VirtualDiskDrive
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-WhatIf

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

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Notas

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