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