2017-06-20 52 views
3

这可能吗?Powershell - 检查CD是否在CD-ROM驱动器中

我的第一个猜测是这样的:

C:> Get-WmiObject Win32_CDROMDrive

但是,当我尝试这样做,它只是告诉我CaptionDriveManufacturerVolumeName

没有就是否存在信息光盘驱动器中的CD。

+2

'[IO.DriveInfo] :: GetDrives()|其中{$ _。DriveType -eq'CDRom'和$ _。IsReady}'(基于C#答案) – wOxxOm

+3

个人而言,我发现像这样的误导性问题。驱动器中是否有光盘,是的,当您检查时,但1秒钟后,用户弹出光盘。为什么不尝试读取(或写入)驱动器或您想要执行的操作,并处理故障? –

+0

@KoryGill阅读或写入CD就在这一点上。最终目标是检查驱动器内是否有媒体。 –

回答

3

你可以通过

(Get-WMIObject -Class Win32_CDROMDrive -Property *).MediaLoaded 

此信息您可以看到哪些属性可用于该WMI类由

Get-WMIObject -Class Win32_CDROMDrive -Property * | Get-Member 

和更详细的文档,从

Get-WMIHelp -Class Win32_CDROMDrive 

一般,你会发现自由使用Get-HelpGet-MemberGet-CommandGet-WMIHelp cmdlet将为您提供大量信息,并可能无需在此处提问,并等待可能会或可能不会发生的答案。

+0

啊,应该试过'-Properties *'。我总是忘记可能存在不报告的属性 –

+1

Get-WMIHelp不是标准的PowerShell cmdlet。 –

+0

是的。请参阅https://blogs.msdn.microsoft.com/powershell/2007/09/24/get-wmihelp-amp-search-wmihelp/和https://ss64.org/viewtopic.php?id=1440 - 我'我已经把它们放在我的系统上很久了,以至于我忘记了它们是附加组件。 –

相关问题