Freigeben über


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.