Udostępnij przez


Remove-SCVirtualMachine

Usuwa obiekt maszyny wirtualnej z programu VMM.

Składnia

Default (Domyślna)

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żona, lub z serwera biblioteki, na którym jest przechowywana.

Jeśli folder na hoście został utworzony dla tej maszyny wirtualnej przez program VMM, a nie przez program Hyper-V lub VMware, i jeśli ten folder nie zawiera żadnych innych maszyn wirtualnych ani 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 pomyślnym zakończeniu, 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 w 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 jej hoście.

Przykład 2: Usuwanie wszystkich maszyn wirtualnych o nazwach zawierających 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 zapisuje te obiekty maszyny wirtualnej w tablicy o nazwie $VMs.

Drugie polecenie usuwa każdy obiekt maszyny wirtualnej w tablicy $VMs i usuwa odpowiadające im 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 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 serwerze LibraryServer01. Następnie polecenie zapisuje 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

Prosi o potwierdzenie przed uruchomieniem cmdletu.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Force

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

Uwaga / Notatka

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ż jest usuwana.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-JobVariable

Określa zmienną, w której jest śledzony i przechowywany postęp zadania.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-OnBehalfOfUser

Określa nazwę użytkownika. To polecenie cmdlet działa w imieniu użytkownika, którego określa ten parametr.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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 określonej przez ten parametr.

Właściwości parametru

Typ:UserRole
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:Guid
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-RunAsynchronously

Wskazuje, że zadanie jest uruchamiane asynchronicznie, aby kontrolka natychmiast wracała do powłoki poleceń.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SkipFileRemoval

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

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-VM

Określa obiekt maszyny wirtualnej.

Właściwości parametru

Typ:VM
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Uwagi

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