Remove-SCVirtualMachine
Entfernt ein VM-Objekt aus VMM.
Syntax
Default (Standardwert)
Remove-SCVirtualMachine
[-VM] <VM>
[-SkipFileRemoval]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Beschreibung
Mit dem Cmdlet Remove-SCVirtualMachine wird ein VM-Objekt entfernt, das auf einem Host bereitgestellt oder auf einem Virtual Machine Manager (VMM)-Bibliothekserver gespeichert ist.
Mit diesem Cmdlet wird der Datensatz der virtuellen Maschine aus der VMM-Datenbank gelöscht, alle Dateien gelöscht, die der virtuellen Maschine zugeordnet sind, und die virtuelle Maschine vom Host, auf dem sie bereitgestellt wird, oder vom Bibliothekserver, auf dem sie gespeichert ist, entfernt.
Wenn ein Ordner auf einem Host für diese virtuelle Maschine von VMM und nicht von Hyper-V oder VMware erstellt wurde und dieser Ordner keine anderen virtuellen Maschinen oder andere Daten enthält, können Sie den Ordner über das Dateisystem löschen, nachdem Sie die virtuelle Maschine entfernt haben.
Wenn Sie den Force-Parameter angeben, löscht dieses Cmdlet nur den virtuellen Computer aus der VMM-Datenbank. Die virtuelle Maschine selbst wird nicht gelöscht.
Dieses Cmdlet gibt bei Erfolg das Objekt zurück, das den Wert $True für die MarkedForDeletion-Eigenschaft aufweist. Wenn ein Fehler auftritt, gibt das Cmdlet eine Fehlermeldung zurück.
Beispiele
Beispiel 1: Entfernen eines bestimmten virtuellen Computers, der auf einem Host bereitgestellt wurde
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
Mit dem ersten Befehl wird das VM-Objekt mit dem Namen VM01 abgerufen, das auf VMHost01 bereitgestellt wurde, und dann das VM-Objekt in der Variablen $VM gespeichert.
Der zweite Befehl entfernt das in $VM gespeicherte Objekt und löscht die entsprechenden Dateien der virtuellen Maschine aus dem Dateisystem auf seinem Host.
Beispiel 2: Entfernen aller virtuellen Computer mit Namen, die eine bestimmte Zeichenfolge enthalten
PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine
Mit dem ersten Befehl werden alle VM-Objekte abgerufen, die auf einem beliebigen Host implementiert sind, dessen Name die Zeichenfolge VM0 enthält, und dann werden diese VM-Objekte in dem Array mit dem Namen $VMs gespeichert.
Der zweite Befehl entfernt jedes Objekt der virtuellen Maschine im $VMs-Array und löscht die entsprechenden Dateien der virtuellen Maschine aus dem Dateisystem auf jedem Host.
Beispiel 3: Entfernen eines bestimmten virtuellen Computers, der auf einem VMM-Bibliothekserver gespeichert ist
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
Der erste Befehl ruft das Objekt ab, das den virtuellen Computer mit dem Namen VM03 darstellt, und speichert dann das Objekt des virtuellen Computers in $VM. In diesem Beispiel ist nur ein virtueller Computer mit dem Namen VM03 vorhanden.
Der zweite Befehl entfernt das Objekt, das VM03 darstellt, aus der Bibliothek und löscht die entsprechenden Dateien der virtuellen Maschine aus dem Dateisystem auf dem Bibliothekserver.
Beispiel 4: Entfernen mehrerer gespeicherter virtueller Maschinen aus der VMM-Bibliothek
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
Mit dem ersten Befehl werden alle VM-Objekte abgerufen, deren Namen die Zeichenfolge VM0 enthalten und die auf LibraryServer01 gespeichert sind. Der Befehl speichert dann die Objekte der virtuellen Maschine in dem Array mit dem Namen $VMs.
Der zweite Befehl übergibt jedes in $VMs gespeicherte VM-Objekt an das aktuelle Cmdlet, das jedes Objekt aus der Bibliothek entfernt und die entsprechenden VM-Dateien aus dem Dateisystem auf dem Bibliothekserver löscht. Der Parameter Confirm fordert Sie auf, zu bestätigen, ob Sie jede dieser virtuellen Maschinen löschen möchten.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Force
Gibt an, dass mit diesem Cmdlet nur der virtuelle Computer aus der VMM-Datenbank gelöscht wird. Die virtuelle Maschine selbst wird nicht gelöscht.
Hinweis
Bei virtuellen Maschinen, die mithilfe von Dienstvorlagen oder VMRole bereitgestellt werden, wird dieser Parameter ignoriert und die eigentliche virtuelle Maschine wird ebenfalls gelöscht.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-JobVariable
Gibt eine Variable an, in der der Auftragsfortschritt verfolgt und gespeichert wird.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OnBehalfOfUser
Gibt einen Benutzernamen an. Dieses Cmdlet wird im Namen des Benutzers ausgeführt, der durch diesen Parameter angegeben wird.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OnBehalfOfUserRole
Gibt eine Benutzerrolle an. Verwenden Sie zum Abrufen einer Benutzerrolle das Cmdlet Get-SCUserRole . Dieses Cmdlet wird im Namen der Benutzerrolle ausgeführt, die durch diesen Parameter angegeben wird.
Parametereigenschaften
| Typ: | UserRole |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PROTipID
Gibt die ID des Tipps zur Leistungs- und Ressourcenoptimierung (PRO-Tipp) an, der diese Aktion ausgelöst hat. Mit diesem Parameter können Sie PRO-Tipps überwachen.
Parametereigenschaften
| Typ: | Guid |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-RunAsynchronously
Gibt an, dass der Auftrag asynchron ausgeführt wird, damit das Steuerelement sofort zur Befehlsshell zurückkehrt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SkipFileRemoval
Gibt an, dass mit diesem Cmdlet Dateien im Zusammenhang mit virtuellen Computern nicht direkt entfernt werden. Wenn Sie diesen Parameter angeben, wird kein Versuch unternommen, Dateien direkt zu löschen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-VM
Gibt ein Objekt eines virtuellen Computers an.
Parametereigenschaften
| Typ: | VM |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Hinweise
Für dieses Cmdlet ist ein VMM-VMM-Objekt erforderlich, das mit dem Cmdlet Get-SCVirtualMachine abgerufen werden kann.