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 wdrożony 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 program 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, aby usunąć folder po usunięciu maszyny wirtualnej.

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

To polecenie cmdlet zwraca obiekt po powodzeniu, który ma wartość $True dla właściwości MarkedForDeletion. Jeśli zakończy się to niepowodzeniem, 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 vmHost01, a następnie zapisuje obiekt maszyny wirtualnej w zmiennej $VM.

Drugie polecenie usuwa obiekt przechowywany w $VM i usuwa odpowiednie pliki maszyny wirtualnej z systemu plików na jego 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 maszyn wirtualnych 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 zapisuje 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 maszyny wirtualnej, których nazwy zawierają ciąg VM0 i które są przechowywane na BiblioteceServer01. 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 Confirm monituje o potwierdzenie, czy chcesz usunąć każdą z tych maszyn wirtualnych.

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

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

Nuta

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

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

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

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-VM

Określa obiekt maszyny wirtualnej.

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

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