Udostępnij za pośrednictwem


Remove-SCVirtualMachine

Usuwa obiekt maszyny wirtualnej z programu VMM.

Składnia

Remove-SCVirtualMachine
      [-VM] <VM>
      [-SkipFileRemoval]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Opis

Polecenie cmdlet Remove-SCVirtualMachine usuwa obiekt maszyny wirtualnej wdrożony na hoście lub przechowywany na serwerze biblioteki programu Virtual Machine Manager (VMM).

To polecenie cmdlet usuwa rekord maszyny wirtualnej z bazy danych programu VMM, usuwa wszystkie pliki skojarzone z maszyną wirtualną i usuwa maszynę wirtualną z hosta, na którym jest wdrażany lub z serwera biblioteki, na którym jest przechowywany.

Jeśli folder na hoście został utworzony dla tej maszyny wirtualnej przez program VMM, a nie przez funkcję Hyper-V lub VMware, a jeśli ten folder nie zawiera żadnych innych maszyn wirtualnych lub innych danych, możesz użyć systemu plików do usunięcia folderu po usunięciu maszyny wirtualnej.

Jeśli określisz parametr Force , to polecenie cmdlet usunie tylko maszynę wirtualną z bazy danych programu VMM. Nie usuwa samej maszyny wirtualnej.

To polecenie cmdlet zwraca obiekt po powodzeniu, który ma wartość $True dla właściwości MarkedForDeletion . Jeśli to się nie powiedzie, polecenie cmdlet zwróci komunikat o błędzie.

Przykłady

Przykład 1. Usuwanie określonej maszyny wirtualnej wdrożonej na hoście

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.VMHost.Name -eq "VMHost01.Contoso.com" -and $_.Name -eq "VM01" }
PS C:\> Remove-SCVirtualMachine -VM $VM

Pierwsze polecenie pobiera obiekt maszyny wirtualnej o nazwie VM01 wdrożony na maszynie wirtualnej VMHost01, a następnie przechowuje obiekt maszyny wirtualnej w zmiennej $VM.

Drugie polecenie usuwa obiekt przechowywany w $VM i usuwa odpowiednie pliki maszyny wirtualnej z systemu plików na hoście.

Przykład 2. Usuwanie wszystkich maszyn wirtualnych z nazwami, które zawierają określony ciąg

PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine

Pierwsze polecenie pobiera wszystkie obiekty maszyny wirtualnej wdrożone na dowolnym hoście, którego nazwa zawiera ciąg VM0, a następnie przechowuje te obiekty maszyny wirtualnej w tablicy o nazwie $VMs.

Drugie polecenie usuwa każdy obiekt maszyny wirtualnej w tablicy $VMs i usuwa odpowiednie pliki maszyny wirtualnej z systemu plików na każdym hoście.

Przykład 3. Usuwanie określonej maszyny wirtualnej przechowywanej na serwerze biblioteki programu VMM

PS C:\> $VM = Get-SCVirtualMachine -VMMServer "VMMServer1.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -eq "VM02" }
PS C:\> Remove-SCVirtualMachine -VM $VM

Pierwsze polecenie pobiera obiekt reprezentujący maszynę wirtualną o nazwie VM03, a następnie przechowuje obiekt maszyny wirtualnej w $VM. W tym przykładzie istnieje tylko jedna maszyna wirtualna o nazwie VM03.

Drugie polecenie usuwa obiekt reprezentujący maszynę wirtualną VM03 z biblioteki i usuwa odpowiednie pliki maszyny wirtualnej z systemu plików na serwerze biblioteki.

Przykład 4. Usuwanie wielu przechowywanych maszyn wirtualnych z biblioteki programu VMM

PS C:\> $VMs = Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq "LibraryServer01.Contoso.com" -and $_.Name -match "VM0" }
PS C:\> $VMs | Remove-SCVirtualMachine -Confirm

Pierwsze polecenie pobiera wszystkie obiekty maszyn wirtualnych, których nazwy zawierają ciąg VM0 i które są przechowywane w bibliotece LibraryServer01. Następnie polecenie przechowuje obiekty maszyny wirtualnej w tablicy o nazwie $VMs.

Drugie polecenie przekazuje każdy obiekt maszyny wirtualnej przechowywany w $VMs do bieżącego polecenia cmdlet, które usuwa każdy obiekt z biblioteki i usuwa odpowiednie pliki maszyny wirtualnej z systemu plików na serwerze biblioteki. Parametr Potwierdź wyświetla monit o potwierdzenie, czy chcesz usunąć każdą z tych maszyn wirtualnych.

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

Wskazuje, że to polecenie cmdlet usuwa tylko maszynę wirtualną z bazy danych programu VMM. Nie usuwa samej maszyny wirtualnej.

Uwaga

W przypadku maszyny wirtualnej wdrożonej przy użyciu szablonów usług lub vmRole ten parametr jest ignorowany, a rzeczywista maszyna wirtualna również zostanie usunięta.

Type:SwitchParameter
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

-SkipFileRemoval

Wskazuje, że to polecenie cmdlet nie usuwa bezpośrednio plików powiązanych z maszyną wirtualną. Jeśli określisz ten parametr, nie zostanie podjęta żadna próba bezpośredniego usunięcia plików.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Określa obiekt maszyny wirtualnej.

Type:VM
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

To polecenie cmdlet wymaga obiektu maszyny wirtualnej programu VMM, który można pobrać przy użyciu polecenia cmdlet Get-SCVirtualMachine .