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 .