如何删除虚拟CD/DVD-ROM
问题描述:
在win10上,我们有可能挂载iso文件。 对于每个安装的iso系统创建虚拟CD/DVD-ROM驱动器。 看到这些驱动器,我们可以使用PowerShell:如何删除虚拟CD/DVD-ROM
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)
现在我的问题是如何使用WINAPI/PowerShell的任何删除这些设备?
我知道,当你使用Dismount-DiskImage卸载特定映像时,它们被删除,但我想要“强制”选项。
答
$sh = New-Object -ComObject "Shell.Application"
$sh.Namespace(17).Items() |
Where-Object { $_.Type -eq "CD Drive" } |
foreach { $_.InvokeVerb("Eject") }
位置对象{$ _。键入-eq“CD驱动器”}你能正确的ISO驱动器上点击你所看到的文件系统?
工程就像一个魅力thx! 如果有人想要为特定驱动程序触发此操作 '$ driveEject = New-Object -comObject Shell.Application' '$ driveEject.Namespace(17).ParseName(“E:”)。InvokeVerb(“Eject” )' – user3305379