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 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 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 VM01, a następnie przechowuje pobrane obiekty w $VirtDiskDrive. Użycie symbolu @ i nawiasów gwarantuje, ż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 dysków przekazywanych 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 dysku wirtualnego, 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.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wymusza zakończenie operacji.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-JobGroup
Określa identyfikator serii poleceń uruchamianych jako zestaw tuż przed ostatnim poleceniem zawierającym ten sam identyfikator grupy zadań.
Typ: | Guid |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-JobVariable
Określa zmienną, w której postęp zadania jest śledzony i przechowywany.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-OnBehalfOfUser
Określa nazwę użytkownika. To polecenie cmdlet działa w imieniu użytkownika, który określa ten parametr.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | UserRole |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | Guid |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RunAsynchronously
Wskazuje, że zadanie jest uruchamiane asynchronicznie, aby kontrolka natychmiast wracała do powłoki poleceń.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SkipDeleteVHD
Wskazuje, że to polecenie cmdlet nie zawiera pliku VHD podczas usuwania dysku wirtualnego.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-VirtualDiskDrive
Określa obiekt dysku wirtualnego. Wirtualny dysk twardy lub dysk przekazywany można dołączyć do obiektu dysku wirtualnego.
Typ: | VirtualDiskDrive |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Uwagi
- Wymaga obiektu dysku wirtualnego programu VMM, który można pobrać przy użyciu polecenia cmdlet Get-SCVirtualDiskDrive.