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 .