Partager via


Remove-SCVirtualMachine

Supprime un objet de machine virtuelle de VMM.

Syntaxe

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

Description

La cmdlet 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 l’ordinateur virtuel 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 de Hyper-V ou VMware, et si ce dossier ne contient aucune autre machine virtuelle ou d’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 Forcer, 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 de 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 chaîne VM0, 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 de 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 et supprime les fichiers de machine virtuelle 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, ce 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 Confirmer vous invite à confirmer si vous souhaitez supprimer chacune de ces machines virtuelles.

Paramètres

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.

Note

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

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-JobVariable

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

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-OnBehalfOfUserRole

Spécifie un rôle d’utilisateur. Pour obtenir un rôle d’utilisateur, utilisez la cmdlet 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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PROTipID

Spécifie l’ID de l’info-bulle d’optimisation des performances et des ressources (CONSEIL PRO) qui a déclenché cette action. Ce paramètre vous permet d’auditer les conseils pro.

Type:Guid
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RunAsynchronously

Indique que le travail s’exécute de façon asynchrone afin que le contrôle retourne immédiatement à l’interpréteur de commandes.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SkipFileRemoval

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

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-VM

Spécifie un objet de machine virtuelle.

Type:VM
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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.