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 .