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 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 aus dem Host, auf dem er bereitgestellt wird, oder vom Bibliotheksserver, auf dem er 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 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 einen Wert von $True für die MarkedForDeletion-Eigenschaft aufweist. Wenn das Cmdlet 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 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 virtuellen Computerdateien 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 virtuellen Computerobjekte ab, die auf jedem Host bereitgestellt werden, dessen Name die Zeichenfolge VM0 enthält, und speichert diese virtuellen Computerobjekte dann 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 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.

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 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 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. Der virtuelle Computer selbst wird nicht gelöscht.

Hinweis

Für virtuelle Computer, die mithilfe von Dienstvorlagen oder VMRole bereitgestellt werden, wird dieser Parameter ignoriert, und der tatsächliche virtuelle Computer wird ebenfalls 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 Namen 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. Um eine Benutzerrolle abzurufen, verwenden Sie das Cmdlet Get-SCUserRole . Dieses Cmdlet wird im Namen 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 des Tipps zur Leistungs- und Ressourcenoptimierung (PRO-Tipp) an, der 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, damit das Steuerelement sofort zur Befehlsshell zurückkehrt.

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.