Partager via


Remove-SCVirtualMachine

Supprime un objet de machine virtuelle de VMM.

Syntax

Remove-SCVirtualMachine
      [-VM] <VM>
      [-SkipFileRemoval]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Description

L’applet de commande Remove-SCVirtualMachine supprime un objet de machine virtuelle déployé sur un hôte ou stocké sur un serveur de bibliothèque VMM (Virtual Machine Manager).

Cette applet de commande supprime l’enregistrement de la machine virtuelle de la base de données VMM, supprime tous les fichiers associés à la machine virtuelle et supprime la machine virtuelle de l’hôte sur lequel il est déployé ou du serveur de bibliothèque sur lequel il est stocké.

Si un dossier sur un hôte a été créé pour cette machine virtuelle par VMM, au lieu d’Hyper-V ou VMware, et si ce dossier ne contient pas d’autres machines virtuelles ou autres données, vous pouvez utiliser le système de fichiers pour supprimer le dossier après avoir supprimé la machine virtuelle.

Si vous spécifiez le paramètre Force , cette applet de commande supprime uniquement la machine virtuelle de la base de données VMM. Elle ne supprime pas la machine virtuelle elle-même.

Cette applet de commande retourne l’objet en cas de réussite qui a une valeur de $True pour la propriété MarkedForDeletion . En cas d’échec, l’applet de commande retourne un message d’erreur.

Exemples

Exemple 1 : Supprimer une machine virtuelle spécifique déployée sur un hôte

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

La première commande obtient l’objet de machine virtuelle nommé VM01 déployé sur VMHost01, puis stocke l’objet machine virtuelle dans la variable $VM.

La deuxième commande supprime l’objet stocké dans $VM et supprime les fichiers de machine virtuelle correspondants du système de fichiers sur son hôte.

Exemple 2 : Supprimer toutes les machines virtuelles avec des noms qui incluent une chaîne spécifique

PS C:\> $VMs = @(Get-SCVirtualMachine -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -Match "VM0" } )
PS C:\> $VMs | Remove-SCVirtualMachine

La première commande obtient tous les objets de machine virtuelle déployés sur n’importe quel hôte dont le nom inclut la machine virtuelle de chaîne0, puis stocke ces objets de machine virtuelle dans le tableau nommé $VMs.

La deuxième commande supprime chaque objet de machine virtuelle dans le tableau $VMs et supprime les fichiers de machine virtuelle correspondants du système de fichiers sur chaque hôte.

Exemple 3 : Supprimer une machine virtuelle spécifique stockée sur un serveur de bibliothèque VMM

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

La première commande obtient l’objet qui représente la machine virtuelle nommée VM03, puis stocke l’objet machine virtuelle dans $VM. Dans cet exemple, une seule machine virtuelle nommée VM03 existe.

La deuxième commande supprime l’objet qui représente VM03 de la bibliothèque, ainsi que les fichiers d’ordinateur virtuel correspondants du système de fichiers sur le serveur de bibliothèque.

Exemple 4 : Supprimer plusieurs machines virtuelles stockées de la bibliothèque VMM

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

La première commande obtient tous les objets de machine virtuelle dont les noms incluent la chaîne VM0 et qui sont stockés sur LibraryServer01. La commande stocke ensuite les objets de machine virtuelle dans le tableau nommé $VMs.

La deuxième commande transmet chaque objet de machine virtuelle stocké dans $VMs à l’applet de commande actuelle, qui supprime chaque objet de la bibliothèque et supprime les fichiers de machine virtuelle correspondants du système de fichiers sur le serveur de bibliothèque. Le paramètre Confirm vous invite à confirmer si vous souhaitez supprimer chacune de ces machines virtuelles.

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

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

-Force

Indique que cette applet de commande supprime uniquement la machine virtuelle de la base de données VMM. Elle ne supprime pas la machine virtuelle elle-même.

Notes

Pour la machine virtuelle déployée à l’aide de modèles de service ou de VMRole, ce paramètre est ignoré et la machine virtuelle réelle est également supprimée.

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

-JobVariable

Spécifie une variable dans laquelle la progression du travail est suivie et stockée.

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

-OnBehalfOfUser

Spécifie un nom d'utilisateur. Cette applet de commande fonctionne pour le compte de l’utilisateur que ce paramètre spécifie.

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

-OnBehalfOfUserRole

Spécifie un rôle d’utilisateur. Pour obtenir un rôle d’utilisateur, utilisez l’applet de commande Get-SCUserRole . Cette applet de commande fonctionne pour le compte du rôle d’utilisateur spécifié par ce paramètre.

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

-PROTipID

Spécifie l’ID du conseil d’optimisation des performances et des ressources qui a déclenché cette action. Ce paramètre vous permet d’auditer les conseils PRO.

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

-RunAsynchronously

Indique que le travail s’exécute de manière asynchrone afin que le contrôle retourne immédiatement à l’interpréteur de commandes.

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

-SkipFileRemoval

Indique que cette applet de commande ne supprime pas directement les fichiers associés à des machines virtuelles. Si vous spécifiez ce paramètre, aucune tentative n’est effectuée pour supprimer directement les fichiers.

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

-VM

Spécifie un objet ordinateur virtuel.

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

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

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

Notes

Cette applet de commande nécessite un objet de machine virtuelle VMM, qui peut être récupéré à l’aide de l’applet de commande Get-SCVirtualMachine .