Partager via


Remove-SCVirtualDiskDrive

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

Syntax

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 Virtual Machine Manager (VMM).

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 lecteurs 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 les 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 une instruction If 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 des 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 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

Force l’opération à se terminer.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
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 spécifié par ce paramètre.

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 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
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

-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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualDiskDrive

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

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

  • 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 .