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.