我正在寻找涉及(可移动)设备的一些事情,因此我正在研究WMI和其他API,“设备和打印机”屏幕以及“安全删除硬件”弹出窗口,因为我希望拥有无缝体验可能。然而问题是,我无法找到任何方法来获取名称,因为我的用户在他的PC中“知道”它们。
示例...我连接iPod,这在DaP和SRH中显示为“iPod”,这很棒。在WMI中,我能找到的最接近的是'Apple Inc. iPod'和'Apple iPod USB Device'。类似的故事适用于其他硬件,如WD My Book和其他此类硬件。 我在哪里找到合适的字符串?
由于我开始怀疑自己是否正在接近WMI的正确方向,更多解释......我们在这里使用可移动硬件,99%磁盘驱动器。我想过从A到Z硬编码循环并检查每个驱动器,但据我所知,可移动卷不需要安装在一个字母上,但也可以转储到ntfs上的空文件夹中。这和我的小疑问可能是其他(非驱动)硬件需要在敲除之前“敲定”,这增加了一个小小的唠叨的疑问,我可能会一共问错误的问题。 (编辑:如果这是太多不相关的信息,请随意编辑这个问题。)
答案 0 :(得分:0)
你可以通过WMI获得这个。这个Powershell脚本就是这样做的,有趣的属性是Label:
PS C:\>gwmi -Class Win32_Volume | select Name, Label Name Label ---- ----- C:\ Windows 7 D:\ Windows 2008 C:\TEST\ MYUSBKEY E:\ RECOVERY
如您所见,它也适用于未安装字母的设备。
答案 1 :(得分:0)
据我所知,这不起作用。 Powershell代码(只是另一个wmi包装器)只检索已安装设备的卷信息,例如usb密钥。我连接了iphone,我注意到了..