Freigeben über


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.