我正在使用一个简单的脚本来检查机器上 CD/DVD 驱动器的状态。我希望能够判断某个驱动器是否可写。我有以下测试代码:
$script_obj = new-object -comobject wscript.shell
$drives = @(Get-WmiObject win32_logicaldisk -filter 'DriveType=5')
$script_obj.popup($drives[0].DeviceID + " " + $drives[0].Access)
这将显示我机器上 CD/DVD 驱动器的驱动器号,但即使我在驱动器中插入了可写 CD,Access 参数总是返回为 0(未知)。我尝试将 CD 格式化为与 USB 设备(而不是音乐 CD)一样使用,以便我可以打开它来浏览文件结构(没有文件),但这并没有改变任何东西。
Access 属性不应该给我 2 或 3 或 4 而不是 0 吗?
编辑:
我尝试插入可播放的 DVD 和 CD。DVD 无法读取,但 CD 可以工作。我还可以刻录 CD 并在普通 CD 播放器上播放。在整个过程中,我运行了下面 Jan 给出的命令,每次都得到相同的输出:
PS C:\Users\ian> Get-WmiObject Win32_CDROMDrive | Select Caption, Drive, MediaType, Access
Caption Drive MediaType Access
------- ----- --------- ------
hp CDDVDW SH-216AL D: DVD Writer
无论是否将任何东西插入驱动器D,或者它是什么类型的磁盘,这都是输出。我怀疑我的驱动器坏了,因为它不能读取视频 DVD,但我不知道。这是一个翻新的桌面。有没有更可靠的方法来使用 PS 检查可写 CD?