В ряде случаев нужно определить серийный номер подключенной флешки. Этот номер является уникальным (в некотором роде) идентификатором, позволяющим определить факт подключения именно этой флешки в определённый момент времени.
Несмотря на большое количество различных программ, частенько их либо нельзя использовать, либо просто не оказалось с собой в наличии.
Будем обходиться только штатными инструментами и на помощь нам придёт WMIC - консоль Windows Management Instrumentation.
Подробно я описал процедуру в статье своего блога, здесь напишу лишь кратко.
В командной строке выполним следующую команду:
wmic path win32_usbhub Where (Caption="Запоминающее устройство для USB") get DeviceID
В результате выполнения будут отображены значения - по одному на каждое подключенное запоминающее устройство. Из строки можно выделить следующие фрагменты:
- VID_XXXX - Vendor ID - идентификатор производителя (не уникально).
- PID_XXXX - Product ID - идентификатор продукта (не уникально).
- Сам серийный номер (после последнего "\") - условно уникально.
Например у третьей записи серийный номер "0FD2ACBFFFFF", а по VID PID можно определить производителя флешки и тип. Смотрим этот файл и ищем там наши значения. Мои нашлись, это "JM20329 SATA Bridge".
Безусловно, серийный номер, как и VID и PID можно прошить при помощи специальных программ, но такие случаи встречаются не часто. Как сменить серийный номер и прошить флешку - я описал в своей статье.
P.S. Если серийный номер вторым символом содержит символ "&" - можно смело считать, что он не определён, т.к. номер будет динамически меняться на каждом компьютере - это "временный номер", когда контроллер не может определить истинный, или истинный номер отсутствует.