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 .