Remove-SCVirtualMachine
Entfernt ein Virtuelles Computerobjekt aus VMM.
Syntax
Remove-SCVirtualMachine
[-VM] <VM>
[-SkipFileRemoval]
[-Force]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-WhatIf]
[-Confirm]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Remove-SCVirtualMachine cmdlet entfernt ein virtuelles Computerobjekt, das auf einem Host bereitgestellt oder auf einem VMM-Bibliotheksserver (Virtual Machine Manager) gespeichert ist.
Dieses Cmdlet löscht den Datensatz des virtuellen Computers aus der VMM-Datenbank, löscht alle dateien, die dem virtuellen Computer zugeordnet sind, und entfernt den virtuellen Computer vom Host, auf dem er bereitgestellt wird, oder vom Bibliotheksserver, auf dem er gespeichert ist.
Wenn ein Ordner auf einem Host von VMM anstelle von Hyper-V oder VMware für diesen virtuellen Computer erstellt wurde und dieser Ordner keine anderen virtuellen Computer oder andere Daten enthält, können Sie das Dateisystem verwenden, um den Ordner zu löschen, nachdem Sie den virtuellen Computer entfernt haben.
Wenn Sie den Parameter Force angeben, löscht dieses Cmdlet nur den virtuellen Computer aus der VMM-Datenbank. Der virtuelle Computer selbst wird nicht gelöscht.
Dieses Cmdlet gibt das Objekt nach Erfolg zurück, das den Wert $True für die eigenschaft MarkedForDeletion 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 wird
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
Der erste Befehl ruft das virtuelle Computerobjekt mit dem Namen VM01 ab, das auf VMHost01 bereitgestellt wird, und speichert dann das Objekt des virtuellen Computers in der $VM Variablen.
Der zweite Befehl entfernt das in $VM gespeicherte Objekt und löscht die entsprechenden Dateien des virtuellen Computers aus dem Dateisystem auf dem 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
Der erste Befehl ruft alle objekte des virtuellen Computers ab, die auf jedem Host bereitgestellt werden, dessen Name die Zeichenfolge VM0 enthält, und speichert diese objekte des virtuellen Computers dann im Array mit dem Namen $VMs.
Der zweite Befehl entfernt jedes Objekt des virtuellen Computers im $VMs Array und löscht die entsprechenden Dateien des virtuellen Computers aus dem Dateisystem auf jedem Host.
Beispiel 3: Entfernen eines bestimmten virtuellen Computers, der auf einem VMM-Bibliotheksserver 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 aus der Bibliothek darstellt, und löscht die entsprechenden Dateien des virtuellen Computers aus dem Dateisystem auf dem Bibliotheksserver.
Beispiel 4: Entfernen mehrerer gespeicherter virtueller Computer 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
Der erste Befehl ruft alle Objekte des virtuellen Computers ab, deren Namen die Zeichenfolge VM0 enthalten und auf LibraryServer01 gespeichert sind. Der Befehl speichert dann die Objekte des virtuellen Computers im Array mit dem Namen $VMs.
Der zweite Befehl übergibt jedes in $VMs gespeicherte virtuelle Computerobjekt an das aktuelle Cmdlet, das jedes Objekt aus der Bibliothek entfernt und die entsprechenden Dateien des virtuellen Computers aus dem Dateisystem auf dem Bibliotheksserver löscht. Die Bestätigen Parameter fordert Sie auf, zu bestätigen, ob Sie jeden dieser virtuellen Computer löschen möchten.
Parameter
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Force
Gibt an, dass dieses Cmdlet nur den virtuellen Computer aus der VMM-Datenbank löscht. Der virtuelle Computer selbst wird nicht gelöscht.
Anmerkung
Bei virtuellen Computern, die mithilfe von Dienstvorlagen oder VMRole bereitgestellt werden, wird dieser Parameter ignoriert, und der tatsächliche virtuelle Computer wird ebenfalls gelöscht.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-JobVariable
Gibt eine Variable an, in der der Auftragsfortschritt nachverfolgt und gespeichert wird.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OnBehalfOfUser
Gibt einen Benutzernamen an. Dieses Cmdlet wird im Auftrag des Benutzers ausgeführt, den dieser Parameter angibt.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-OnBehalfOfUserRole
Gibt eine Benutzerrolle an. Verwenden Sie zum Abrufen einer Benutzerrolle das cmdlet Get-SCUserRole. Dieses Cmdlet wird im Auftrag der Benutzerrolle ausgeführt, die dieser Parameter angibt.
Typ: | UserRole |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | Guid |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-RunAsynchronously
Gibt an, dass der Auftrag asynchron ausgeführt wird, damit das Steuerelement sofort zur Befehlsshell zurückkehrt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-SkipFileRemoval
Gibt an, dass dieses Cmdlet keine virtuellen Computerdateien direkt entfernt. Wenn Sie diesen Parameter angeben, wird nicht versucht, Dateien direkt zu löschen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-VM
Gibt ein Objekt eines virtuellen Computers an.
Typ: | VM |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Hinweise
Für dieses Cmdlet ist ein virtuelles VMM-Computerobjekt erforderlich, das mithilfe des Cmdlets Get-SCVirtualMachine abgerufen werden kann.