Remove-SCVirtualDiskDrive
Usuwa dyski wirtualne z maszyny wirtualnej lub z szablonu maszyny wirtualnej.
Składnia
Remove-SCVirtualDiskDrive
[-VirtualDiskDrive] <VirtualDiskDrive>
[-SkipDeleteVHD]
[-JobGroup <Guid>]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Opis
Polecenie cmdlet Remove-SCVirtualDiskDrive usuwa obiekty dysków wirtualnych z maszyny wirtualnej lub z szablonu maszyny wirtualnej w środowisku programu Virtual Machine Manager (VMM).
Przykłady
Przykład 1. Usuwanie dysku wirtualnego z maszyny wirtualnej
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]}
Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 wdrożony na maszynie wirtualnej VmHost01 przy użyciu polecenia cmdlet Get-SCVirtualMachine . Polecenie przechowuje ten obiekt w zmiennej $VM.
Drugie polecenie pobiera wszystkie obiekty dysków wirtualnych na maszynie WIRTUALNEJ VM01, a następnie przechowuje pobrane obiekty w $VirtDiskDrive. Używając symbolu @ i nawiasów, upewnij się, że polecenie przechowuje wyniki w tablicy, nawet jeśli polecenie zwraca pojedynczy obiekt lub wartość $Null.
Ostatnie polecenie zwraca liczbę dysków wirtualnych skojarzonych z maszyną wirtualną, a następnie, jeśli istnieje więcej niż jeden, polecenie usuwa drugi dysk wirtualny wyznaczony przez [1], z maszyny wirtualnej.
Przykład 2. Usuwanie wszystkich dysków przekazywanych dołączonych do maszyny wirtualnej
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}}
Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM02, a następnie przechowuje ten obiekt w zmiennej $VM.
Drugie polecenie pobiera wszystkie obiekty dysków wirtualnych dołączone do maszyny wirtualnej VM02, które nie są wirtualnymi dyskami twardymi. Polecenie pobiera tylko obiekty reprezentujące dyski przekazywane. Polecenie przechowuje obiekty dysku przekazywanego w tablicy obiektów $VDDs.
Ostatnie polecenie używa instrukcji If , aby określić, czy istnieje co najmniej jeden dysk wirtualny z przekazywaniem.
Jeśli wynik jest co najmniej jeden, polecenie używa instrukcji ForEach , aby usunąć każdy dysk wirtualny z tablicy obiektów.
Aby uzyskać więcej informacji, wpisz Get-Help about_If
i Get-Help about_Foreach
.
Ostatnie polecenie określa parametr Force . W związku z tym polecenie usuwa każdy dysk wirtualny z maszyny wirtualnej, nawet jeśli inne obiekty programu VMM zależą od tego dysku wirtualnego.
Przykład 3. Usuwanie dysków wirtualnych według nazwy
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}}}
Pierwsze polecenie pobiera wszystkie obiekty maszyny wirtualnej, których nazwa jest zgodna z ciągiem WebSrvLOB, a następnie przechowuje te obiekty w tablicy $VM.
Dwa następne polecenia używają polecenia cmdlet ForEach-Object do iterowania maszyn wirtualnych przechowywanych w $VM w celu pobrania wszystkich obiektów dysków wirtualnych z każdej maszyny wirtualnej. Drugie polecenie przechowuje obiekty dysków wirtualnych w tablicy obiektów $VirtDiskDrives.
Trzecie polecenie używa drugiej pętli ForEach , aby wybrać wszystkie obiekty dysków wirtualnych, których nazwa zawiera ciąg LOBData z tablicy $VirtDiskDrives i przekazuje te obiekty do bieżącego polecenia cmdlet. To polecenie cmdlet usuwa obiekty z programu VMM.
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Wymusza zakończenie operacji.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobGroup
Określa identyfikator serii poleceń uruchamianych jako zestaw tuż przed ostatnim poleceniem zawierającym ten sam identyfikator grupy zadań.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Określa zmienną, w której postęp zadania jest śledzony i przechowywany.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
Określa nazwę użytkownika. To polecenie cmdlet działa w imieniu użytkownika określonego przez ten parametr.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Określa rolę użytkownika. Aby uzyskać rolę użytkownika, użyj polecenia cmdlet Get-SCUserRole . To polecenie cmdlet działa w imieniu roli użytkownika, którą określa ten parametr.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Określa identyfikator porady wydajności i optymalizacji zasobów (porada PRO), która wyzwoliła tę akcję. Ten parametr umożliwia inspekcję porad PRO.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RunAsynchronously
Wskazuje, że zadanie jest uruchamiane asynchronicznie, aby kontrolka natychmiast wracała do powłoki poleceń.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipDeleteVHD
Wskazuje, że to polecenie cmdlet nie powoduje usunięcia dysku wirtualnego dysku twardego.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VirtualDiskDrive
Określa obiekt dysku wirtualnego. Wirtualny dysk twardy lub dysk przekazywany można dołączyć do obiektu dysku wirtualnego.
Type: | VirtualDiskDrive |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Uwagi
- Wymaga obiektu dysku wirtualnego programu VMM, który można pobrać za pomocą polecenia cmdlet Get-SCVirtualDiskDrive .