Powershell 中 USB 驱动器的唯一标识符

Powershell 中 USB 驱动器的唯一标识符

根据 win32_volume 类文档这里设备管理器下显示的设备名称作为 win32_volume 的属性不可用。SerialNumber 属性是设备独有的还是系统独有的?如果系统独有,我应该查找什么属性来编写可移植脚本?

答案1

序列号会看到你。设备ID财产看起来也很有希望,但这只是在一个系统上静态的。

为了测试,我插入了两个 USB 驱动器并在 PowerShell 中运行以下命令:

Get-WmiObject -Class Win32_Volume | select Name, DeviceID, SerialNumber

初始输出如下所示:

Name     DeviceID                                            SerialNumber
----     --------                                            ------------
J:\      \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\   1893178287
H:\      \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\   3930884954

我弹出了两者并以相反的顺序重新插入它们,希望它们能够交换驱动器号,但是它们保留了它们,但在 PowerShell 输出中交换了位置。(请注意,DeviceID 和 SerialNumber 是相同的。)

Name     DeviceID                                            SerialNumber
----     --------                                            ------------
H:\      \\?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\   3930884954
J:\      \\?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\   1893178287

最后我将棒插入另一台计算机,请注意,设备 ID 不同,但序列号保持不变。

Name     DeviceID                                            SerialNumber
----     --------                                            ------------
E:\      \\?\Volume{603a0c09-2674-11e5-b1db-0050569a754c}\   3930884954
H:\      \\?\Volume{603a0c15-2674-11e5-b1db-0050569a754c}\   1893178287

相关内容