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 entfernt ein virtuelles Computerobjekt, das auf einem Host bereitgestellt oder auf einem Virtual Machine Manager (VMM)-Bibliotheksserver 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 aus dem Host, auf dem sie bereitgestellt wird oder aus dem Bibliotheksserver, auf dem sie gespeichert ist.

Wenn ein Ordner auf einem Host für diesen virtuellen Computer von VMM erstellt wurde, anstatt von Hyper-V oder VMware, und wenn 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 Force-Parameter angeben, löscht dieses Cmdlet nur den virtuellen Computer aus der VMM-Datenbank. Er löscht den virtuellen Computer selbst nicht.

Dieses Cmdlet gibt das Objekt nach Erfolg zurück, das einen Wert von $True für die MarkForDeletion-Eigenschaft aufweist. Wenn es fehlschlägt, 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 namens VM01 auf VMHost01 bereitgestellt und speichert dann das virtuelle Computerobjekt in der $VM Variable.

Der zweite Befehl entfernt das in $VM gespeicherte Objekt und löscht die entsprechenden virtuellen Computerdateien 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

Der erste Befehl ruft alle virtuellen Computerobjekte ab, die auf jedem Host bereitgestellt werden, dessen Name die Zeichenfolge VM0 enthält, und speichert dann diese virtuellen Computerobjekte im Array namens $VMs.

Der zweite Befehl entfernt jedes virtuelle Computerobjekt im $VMs Array und löscht die entsprechenden virtuellen Computerdateien 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 namens VM03 darstellt, und speichert dann das virtuelle Computerobjekt in $VM. In diesem Beispiel ist nur ein virtueller Computer mit dem Namen VM03 vorhanden.

Mit dem zweiten Befehl wird das Objekt, das "VM03" darstellt, aus der Bibliothek entfernt, und die entsprechenden Dateien für virtuelle Maschinen werden aus dem Dateisystem auf dem Bibliothekserver gelöscht.

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 virtuellen Computerobjekte ab, deren Namen die Zeichenfolge VM0 enthalten und auf LibraryServer01 gespeichert sind. Der Befehl speichert dann die virtuellen Computerobjekte im Array namens $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 virtuellen Computerdateien aus dem Dateisystem auf dem Bibliotheksserver löscht. Der Parameter " Bestätigen " fordert Sie auf, zu bestätigen, ob Sie jede dieser virtuellen Computer löschen möchten.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Gibt an, dass dieses Cmdlet nur den virtuellen Computer aus der VMM-Datenbank löscht. Er löscht den virtuellen Computer selbst nicht.

Hinweis

Für virtuelle Computer, die mithilfe von Dienstvorlagen oder VMRole bereitgestellt werden, wird dieser Parameter ignoriert, und der tatsächliche virtuelle Computer wird auch gelöscht.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

Gibt eine Variable an, in der der Auftragsfortschritt nachverfolgt und gespeichert wird.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OnBehalfOfUser

Gibt einen Benutzernamen an. Dieses Cmdlet wird im Auftrag des Benutzers ausgeführt, den dieser Parameter angibt.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

Gibt die ID der Leistungs- und Ressourcenoptimierungs-Tipp (PRO-Tipp) an, die diese Aktion ausgelöst hat. Mit diesem Parameter können Sie PRO-Tipps überwachen.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

Gibt an, dass der Auftrag asynchron ausgeführt wird, sodass das Steuerelement sofort an die Befehlsshell zurückgibt.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipFileRemoval

Gibt an, dass dieses Cmdlet keine virtuellen Computerdateien direkt entfernt. Wenn Sie diesen Parameter angeben, wird kein Versuch unternommen, Dateien direkt zu löschen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Gibt ein Objekt virtueller Maschinen an.

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Hinweise

Dieses Cmdlet erfordert ein virtuelles VMM-Computerobjekt, das mithilfe des Cmdlets Get-SCVirtualMachine abgerufen werden kann.