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 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 .