Delen via


Remove-SCVirtualDiskDrive

Hiermee verwijdert u virtuele schijfstations uit een virtuele machine of uit een sjabloon voor een virtuele machine.

Syntaxis

Default (Standaard)

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 verwijdert u objecten voor virtuele schijfstations uit een virtuele machine of uit een sjabloon voor een virtuele machine in een VMM-omgeving (Virtual Machine Manager).

Voorbeelden

Voorbeeld 1: Een virtuele schijf verwijderen uit 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 machine-object met de naam VM01 geïmplementeerd op VMHost01 met behulp van de cmdlet Get-SCVirtualMachine . De opdracht slaat dat object op in de variabele $VM.

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

De laatste opdracht retourneert het aantal virtuele schijven dat aan de virtuele machine is gekoppeld en vervolgens, als er meer dan één bestaat, verwijdert de opdracht het tweede virtuele schijfstation, aangeduid met de [1], van de virtuele machine.

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

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 objecten van virtuele schijven opgehaald die aan VM02 zijn gekoppeld en die geen virtuele harde schijven zijn. Met de opdracht worden alleen objecten opgehaald die pass-through-schijven vertegenwoordigen. Met de opdracht worden de pass-through-schijfobjecten opgeslagen in de $VDDs-objectmatrix.

De laatste opdracht maakt gebruik van een If-instructie om te bepalen of er ten minste één pass-through virtuele schijf bestaat. Als het resultaat een of meer resultaten is, wordt in de opdracht de ForEach-instructie gebruikt om elk virtueel schijfstation uit de objectmatrix te verwijderen. Typ Get-Help about_If en Get-Help about_Foreach. Voor meer informatie

De laatste opdracht geeft de parameter Force op. Daarom verwijdert de opdracht elk virtueel schijfstation uit de virtuele machine, zelfs als andere VMM-objecten afhankelijk zijn van dat virtuele schijfstation.

Voorbeeld 3: Virtuele schijven op naam verwijderen

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 objecten van de virtuele machine opgehaald waarvan de naam overeenkomt met de tekenreeks WebSrvLB en worden deze objecten vervolgens opgeslagen in de matrix $VM.

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 gebruikt een tweede ForEach-lus om alle objecten van het virtuele schijfstation waarvan de naam de tekenreeks LOBData bevat, uit de $VirtDiskDrives-matrix te selecteren en deze objecten door te geven aan de huidige cmdlet. Met deze cmdlet worden de objecten uit VMM verwijderd.

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Force

Hiermee wordt de bewerking geforceerd voltooid.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-JobGroup

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

Parametereigenschappen

Type:Guid
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-JobVariable

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

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-OnBehalfOfUser

Bepaalt een gebruikersnaam. Deze cmdlet werkt namens de gebruiker die door deze parameter wordt opgegeven.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-OnBehalfOfUserRole

Hiermee geeft u een gebruikersrol op. Als u een gebruikersrol wilt verkrijgen, gebruikt u de cmdlet Get-SCUserRole . Deze cmdlet werkt namens de gebruikersrol die door deze parameter wordt opgegeven.

Parametereigenschappen

Type:UserRole
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:Guid
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RunAsynchronously

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

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SkipDeleteVHD

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

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-VirtualDiskDrive

Hiermee geeft u een object voor een virtueel schijfstation op. U kunt een virtuele harde schijf of een pass-through-schijf koppelen aan een object van een virtueel schijfstation.

Parametereigenschappen

Type:VirtualDiskDrive
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Notities

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