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.