我正在使用一个简单的脚本来检查计算机上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),以便我可以打开它来浏览文件结构(没有文件),但这不会改变任何内容。 / p>
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?
答案 0 :(得分:1)
Access
字段将为空白。将磁盘插入驱动器后,您可以阅读MediaType
,Access
字段和许多其他信息。
要查找CD / DVD的功能,您可以使用Win32_CDROMDrive
MediaType
属性。
PS > Get-WmiObject Win32_CDROMDrive | Select Caption, Drive, MediaType
Caption Drive MediaType
------- ----- ---------
hp DVD A DH16ABLH G: DVD Writer
参考 - Checking if a CD/DVD drive is a Writer or just a Cd-Rom using WMI
答案 1 :(得分:0)
我最终发现我的CD / DVD驱动器已经出局了。它不会刻录DVD并最终停止阅读或刻录任何东西。我认为这与我的麻烦有关。