1

Согласно Win32_Volume документации класса здесь имя устройства , которое показывает в менеджере устройств будет недоступен как свойство Win32_Volume. Свойство SerialNumber уникально для устройства или только для системы? Если только для системы, какое свойство я должен искать, чтобы написать переносимый скрипт?

1 ответ1

2

SerialNumber увидит вас правильно. Свойство DeviceID также выглядело многообещающе, но оно статично только в одной системе.

Для тестирования я вставил два 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

Наконец, я вставил флешки в другой компьютер, обратите внимание, что идентификатор устройства отличается, но серийный номер остается прежним.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .