Udostępnij za pośrednictwem


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.