Delen via


Remove-SCVirtualDiskDrive

Hiermee verwijdert u virtuele schijfstations van een virtuele machine of van een virtuele-machinesjabloon.

Syntax

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

Description

Met de cmdlet Remove-SCVirtualDiskDrive worden virtuele-schijfstationobjecten van een virtuele machine of van een virtuele-machinesjabloon in een VMM-omgeving (Virtual Machine Manager) verwijderd.

Voorbeelden

Voorbeeld 1: Een virtuele schijfstation verwijderen van een virtuele machine

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]}

Met de eerste opdracht wordt het virtuele-machineobject met de naam VM01 geïmplementeerd op VMHost01 met behulp van de cmdlet Get-SCVirtualMachine . Met de opdracht wordt dat object opgeslagen in de $VM variabele.

Met de tweede opdracht worden alle virtuele schijfstationobjecten op VM01 opgehaald en worden vervolgens de opgehaalde objecten opgeslagen in $VirtDiskDrive. Met behulp van het @-symbool en haakjes zorgt u ervoor dat de opdracht de resultaten opslaat in een matrix, zelfs als de opdracht één object of een $Null waarde retourneert.

Met de laatste opdracht wordt het aantal virtuele schijfstations geretourneerd dat is gekoppeld aan de virtuele machine. Als er meer dan één schijf bestaat, wordt met de opdracht het tweede virtuele schijfstation verwijderd, dat is aangewezen door de [1], van de virtuele machine.

Voorbeeld 2: Verwijder alle passthrough-schijven die zijn gekoppeld aan een virtuele machine

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

Met de eerste opdracht wordt het object van de virtuele machine met de naam VM02 opgehaald en wordt dat object vervolgens opgeslagen in de variabele $VM.

Met de tweede opdracht worden alle virtuele-schijfstationobjecten opgehaald die zijn gekoppeld aan VM02 die geen virtuele harde schijven zijn. Met de opdracht worden alleen objecten opgehaald die passthrough-schijven vertegenwoordigen. Met de opdracht worden de passthrough-schijfobjecten opgeslagen in de $VDDs objectmatrix.

De laatste opdracht maakt gebruik van een If-instructie om te bepalen of er ten minste één passthrough virtuele schijfstation bestaat. Als het resultaat een of meer is, gebruikt de opdracht vervolgens de ForEach-instructie om elk virtueel schijfstation uit de objectmatrix te verwijderen. Typ en Get-Help about_Foreachvoor meer informatieGet-Help about_If.

Met de laatste opdracht wordt de parameter Force opgegeven. Daarom verwijdert de opdracht elk virtuele schijfstation van de virtuele machine, zelfs als andere VMM-objecten afhankelijk zijn van dat virtuele schijfstation.

Voorbeeld 3: virtuele schijfstations verwijderen op naam

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

Met de eerste opdracht worden alle virtuele-machineobjecten opgehaald waarvan de naam overeenkomt met de tekenreeks WebSrvLOB en worden deze objecten vervolgens opgeslagen in de $VM matrix.

De volgende twee opdrachten gebruiken de ForEach-Object cmdlet om de virtuele machines te doorlopen die zijn opgeslagen in $VM om alle objecten van het virtuele schijfstation van elke virtuele machine op te halen. Met de tweede opdracht worden de objecten van het virtuele schijfstation opgeslagen in de $VirtDiskDrives objectmatrix.

De derde opdracht maakt gebruik van een tweede ForEach-lus om alle objecten van het virtuele schijfstation te selecteren waarvan de naam de tekenreeks LOBData uit de $VirtDiskDrives matrix bevat en geeft deze objecten door aan de huidige cmdlet. Met deze cmdlet worden de objecten uit VMM verwijderd.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Force

Hiermee wordt de bewerking afgemaakt.

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

-JobGroup

Hiermee geeft u een id op voor een reeks opdrachten die worden uitgevoerd als een set vlak voor de laatste opdracht die dezelfde taakgroep-id bevat.

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

-JobVariable

Hiermee geeft u een variabele op waarin de voortgang van de taak wordt bijgehouden en opgeslagen.

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

-OnBehalfOfUser

Hiermee geeft u een gebruikersnaam. Deze cmdlet werkt namens de gebruiker die met deze parameter wordt opgegeven.

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

-OnBehalfOfUserRole

Hiermee geeft u een gebruikersrol op. Gebruik de cmdlet Get-SCUserRole om een gebruikersrol te verkrijgen. Deze cmdlet werkt namens de gebruikersrol die met deze parameter wordt opgegeven.

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

-PROTipID

Hiermee geeft u de id op van de tip prestatie- en resourceoptimalisatie (PRO-tip) die deze actie heeft geactiveerd. Met deze parameter kunt u PRO-tips controleren.

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

-RunAsynchronously

Geeft aan dat de taak asynchroon wordt uitgevoerd, zodat het besturingselement onmiddellijk terugkeert naar de opdrachtshell.

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

-SkipDeleteVHD

Geeft aan dat met deze cmdlet het VHD-bestand niet wordt verwijderd terwijl het virtuele schijfstation wordt verwijderd.

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

-VirtualDiskDrive

Hiermee geeft u een virtueel schijfstationobject. U kunt een virtuele harde schijf of een passthrough-schijf koppelen aan een object van een virtuele schijfstation.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Notities

  • Vereist een VMM virtueel schijfstationobject, dat kan worden opgehaald met behulp van de Get-SCVirtualDiskDrive-cmdlet .