2016-07-28 351 views
0

在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卸載特定映像時,它們被刪除,但我想要「強制」選項。

回答

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

位置對象{$ _。鍵入-eq「CD驅動器」}你能正確的ISO驅動器上點擊你所看到的文件系統?

+0

工程就像一個魅力thx! 如果有人想要爲特定驅動程序觸發此操作 '$ driveEject = New-Object -comObject Shell.Application' '$ driveEject.Namespace(17).ParseName(「E:」)。InvokeVerb(「Eject」 )' – user3305379