Partager via


Remove-SCVirtualDiskDrive

Supprime les lecteurs de disque virtuel d’une machine virtuelle ou d’un modèle de machine virtuelle.

Syntaxe

Remove-SCVirtualDiskDrive
      [-VirtualDiskDrive] <VirtualDiskDrive>
      [-SkipDeleteVHD]
      [-JobGroup <Guid>]
      [-Force]
      [-RunAsynchronously]
      [-PROTipID <Guid>]
      [-JobVariable <String>]
      [-WhatIf]
      [-Confirm]
      [-OnBehalfOfUser <String>]
      [-OnBehalfOfUserRole <UserRole>]
      [<CommonParameters>]

Description

L 'applet de commande Remove-SCVirtualDiskDrive supprime les objets de lecteur de disque virtuel d’une machine virtuelle ou d’un modèle de machine virtuelle dans un environnement VMM (Virtual Machine Manager).

Exemples

Exemple 1 : Supprimer un lecteur de disque virtuel d’une machine virtuelle

PS C:\> $VM = Get-SCVirtualMachine | Where-Object { $_.VMHost.Name -Eq "VMHost01.Contoso.com" -And $_.Name -Eq "VM01" }
PS C:\> $VirtDiskDrive = @(Get-SCVirtualDiskDrive -VM $VM)
PS C:\> If($VirtDiskDrive.Count -Gt 1){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive[1]}

La première commande obtient l’objet de machine virtuelle nommé VM01 déployé sur VMHost01 à l’aide de l’applet de commande Get-SCVirtualMachine . La commande stocke cet objet dans la variable $VM.

La deuxième commande obtient tous les objets de lecteur de disque virtuel sur VM01, puis stocke les objets récupérés dans $VirtDiskDrive. L’utilisation du symbole @ et des parenthèses permet de s’assurer que la commande stocke les résultats dans un tableau, même si la commande retourne un objet unique ou une valeur $Null.

La dernière commande retourne le nombre de lecteurs de disque virtuel associés à la machine virtuelle, puis, si plusieurs d’entre eux existent, la commande supprime le deuxième lecteur de disque virtuel, désigné par le [1], de la machine virtuelle.

Exemple 2 : Supprimer tous les disques pass-through attachés à une machine virtuelle

PS C:\> $VM = Get-SCVirtualMachine | Where-Object {$_.Name -Eq "VM02"}
PS C:\> $VirtDiskDrives = @(Get-SCVirtualDiskDrive -VM $VM | Where-Object {$_.IsVHD -Eq $False})
PS C:\> If($VirtDiskDrives.Count -Gt 0){ForEach($VirtDiskDrive in $VirtDiskDrives){Remove-SCVirtualDiskDrive -Force -VirtualDiskDrive $VirtDiskDrive}}

La première commande obtient l’objet de machine virtuelle nommé VM02, puis stocke cet objet dans la variable $VM.

La deuxième commande obtient tous les objets de lecteur de disque virtuel attachés à VM02 qui ne sont pas des disques durs virtuels. La commande obtient uniquement des objets qui représentent des disques pass-through. La commande stocke les objets de disque pass-through dans le tableau d’objets $VDDs.

La dernière commande utilise un If instruction pour déterminer si au moins un lecteur de disque virtuel directe existe. Si le résultat est un ou plusieurs, la commande utilise l’instruction ForEach pour supprimer chaque lecteur de disque virtuel du tableau d’objets. Pour plus d’informations, tapez Get-Help about_If et Get-Help about_Foreach.

La dernière commande spécifie le paramètre force . Par conséquent, la commande supprime chaque lecteur de disque virtuel de sa machine virtuelle même si d’autres objets VMM dépendent de ce lecteur de disque virtuel.

Exemple 3 : Supprimer les lecteurs de disque virtuel par nom

PS C:\> $VM = @(Get-SCVirtualMachine | Where-Object {$_.Name -Match "WebSrvLOB"})
PS C:\> ForEach-Object ($VM in $VMs){$VirtDiskDrives = Get-SCVirtualDiskDrive -VM $VM 
PS C:\> ForEach-Object ($VirtDiskDrive in $VirtDiskDrives){If($VirtDiskDrive.Name -Match "LOBData"){Remove-SCVirtualDiskDrive -VirtualDiskDrive $VirtDiskDrive}}}

La première commande obtient tous les objets de machine virtuelle dont le nom correspond à la chaîne WebSrvLOB, puis stocke ces objets dans le tableau $VM.

Les deux commandes suivantes utilisent l’applet de commande ForEach-Object pour itérer sur les machines virtuelles stockées dans $VM pour obtenir tous les objets de lecteur de disque virtuel de chaque machine virtuelle. La deuxième commande stocke les objets de lecteur de disque virtuel dans le tableau d’objets $VirtDiskDrives.

La troisième commande utilise une deuxième boucle ForEach pour sélectionner tous les objets de lecteur de disque virtuel dont le nom contient la chaîne LOBData du tableau $VirtDiskDrives et transmet ces objets à l’applet de commande actuelle. Cette applet de commande supprime les objets de VMM.

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

Force l’opération à terminer.

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

-JobGroup

Spécifie un identificateur pour une série de commandes qui s’exécutent en tant que jeu juste avant la commande finale qui inclut le même identificateur de groupe de travaux.

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

-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

-SkipDeleteVHD

Indique que cette applet de commande ne contient pas le fichier de disque dur virtuel pendant qu’elle supprime le lecteur de disque virtuel.

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

-VirtualDiskDrive

Spécifie un objet de lecteur de disque virtuel. Vous pouvez attacher un disque dur virtuel ou un disque direct à un objet de lecteur de disque virtuel.

Type:VirtualDiskDrive
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

  • Nécessite un objet de lecteur de disque virtuel VMM, qui peut être récupéré à l’aide de l’applet de commande Get-SCVirtualDiskDrive .