2016-07-28 4 views
0

Sur win10, nous avons la possibilité de monter des fichiers iso. Pour chaque système iso monté, crée un lecteur de CD/DVD-ROM virtuel. Pour voir ces disques que nous pouvons utiliser powershell:Comment supprimer un CD/DVD-ROM virtuel

PS C:\> gwmi win32_cdromdrive 

Caption Drive Manufacturer VolumeName 
------- ----- ------------ ---------- 
Microsoft Virtual DVD-ROM Volume{b62e0d58-541d-11e6-a1f7-005056873534} (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM Volume{d2c8b686-5410-11e6-a1f6-005056873534} (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM CdRom13 (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM CdRom14 (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM CdRom15 (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM CdRom16 (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM CdRom19 (Standard CD-ROM drives) 
Microsoft Virtual DVD-ROM Volume{b62e1bc8-541d-11e6-a1f7-005056873534} (Standard CD-ROM drives) 
NECVMWar VMware IDE CDR10 ATA Device D: (Standard CD-ROM drives) 

Maintenant, ma question est de savoir comment supprimer ces dispositifs en utilisant winapi/Powershell quel que soit?

Je sais qu'ils sont supprimés lorsque vous démonter une image particulière en utilisant Dismount-DiskImage, mais je voudrais avoir l'option "force".

Répondre

0
$sh = New-Object -ComObject "Shell.Application" 
$sh.Namespace(17).Items() | 
    Where-Object { $_.Type -eq "CD Drive" } | 
     foreach { $_.InvokeVerb("Eject") } 

Where-Object {$ _. Tapez -eq "Lecteur CD"} vous pouvez cliquer à droite sur iso lecteur ce système de fichiers que vous voyez?

+0

Fonctionne comme un charme thx! Si quelqu'un souhaite déclencher cette action pour un pilote particulier '$ driveEject = Nouvel -objet -comObjet Shell.Application' ' $ driveEject.Namespace (17) .ParseName ("E:"). InvokeVerb ("Eject") ' – user3305379