Remove-SCVirtualDiskDrive
Remove unidades de disco virtual de uma máquina virtual ou de um modelo de máquina virtual.
Sintaxe
Remove-SCVirtualDiskDrive
[-VirtualDiskDrive] <VirtualDiskDrive>
[-SkipDeleteVHD]
[-JobGroup <Guid>]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
O cmdlet Remove-SCVirtualDiskDrive
Exemplos
Exemplo 1: remover uma unidade de disco virtual de uma 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]}
O primeiro comando obtém o objeto de máquina virtual denominado VM01 implantado no VMHost01 usando o cmdlet Get-SCVirtualMachine. O comando armazena esse objeto na variável $VM.
O segundo comando obtém todos os objetos de unidade de disco virtual na VM01 e armazena os objetos recuperados em $VirtDiskDrive. Usar o símbolo @ e parênteses garante que o comando armazene os resultados em uma matriz, mesmo que o comando retorne um único objeto ou um valor $Null.
O último comando retorna o número de unidades de disco virtual associadas à máquina virtual e, se houver mais de uma, o comando removerá a segunda unidade de disco virtual, designada pelo [1], da máquina virtual.
Exemplo 2: remover todos os discos de passagem anexados a uma 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}}
O primeiro comando obtém o objeto de máquina virtual chamado VM02 e armazena esse objeto na variável $VM.
O segundo comando obtém todos os objetos de unidade de disco virtual anexados à VM02 que não são discos rígidos virtuais. O comando obtém apenas objetos que representam discos de passagem. O comando armazena os objetos de disco de passagem na matriz de objetos $VDDs.
O último comando usa uma instrução If para determinar se há pelo menos uma unidade de disco virtual de passagem.
Se o resultado for um ou mais, o comando usará a instrução ForEach para remover cada unidade de disco virtual da matriz de objetos.
Para obter mais informações, digite Get-Help about_If
e Get-Help about_Foreach
.
O último comando especifica o parâmetro Force. Portanto, o comando remove cada unidade de disco virtual de sua máquina virtual, mesmo que outros objetos do VMM dependam dessa unidade de disco virtual.
Exemplo 3: remover unidades de disco virtual por nome
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}}}
O primeiro comando obtém todos os objetos de máquina virtual cujo nome corresponde à cadeia de caracteres WebSrvLOB e armazena esses objetos na matriz $VM.
Os dois comandos seguintes usam o cmdlet ForEach-Object para iterar por meio das máquinas virtuais armazenadas em $VM para obter todos os objetos de unidade de disco virtual de cada máquina virtual. O segundo comando armazena os objetos da unidade de disco virtual na matriz de objetos $VirtDiskDrives.
O terceiro comando usa um segundo loop ForEach
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Força a operação a ser concluída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-JobGroup
Especifica um identificador para uma série de comandos que são executados como um conjunto pouco antes do comando final que inclui o mesmo identificador de grupo de trabalho é executado.
Tipo: | Guid |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-JobVariable
Especifica uma variável na qual o progresso do trabalho é acompanhado e armazenado.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-OnBehalfOfUser
Especifica um nome de usuário. Esse cmdlet opera em nome do usuário especificado por esse parâmetro.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-OnBehalfOfUserRole
Especifica uma função de usuário. Para obter uma função de usuário, use o cmdlet Get-SCUserRole. Esse cmdlet opera em nome da função de usuário especificada por esse parâmetro.
Tipo: | UserRole |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-PROTipID
Especifica a ID da dica de Otimização de Recursos e Desempenho (dica PRO) que disparou essa ação. Esse parâmetro permite que você audite dicas pro.
Tipo: | Guid |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-RunAsynchronously
Indica que o trabalho é executado de forma assíncrona para que o controle retorne ao shell de comando imediatamente.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-SkipDeleteVHD
Indica que esse cmdlet não faz o arquivo VHD enquanto remove a unidade de disco virtual.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-VirtualDiskDrive
Especifica um objeto de unidade de disco virtual. Você pode anexar um disco rígido virtual ou um disco de passagem a um objeto de unidade de disco virtual.
Tipo: | VirtualDiskDrive |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Observações
- Requer um objeto de unidade de disco virtual do VMM, que pode ser recuperado usando o cmdlet Get-SCVirtualDiskDrive
.