Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/163: Рейтинг темы: голосов - 163, средняя оценка - 4.91
5 / 5 / 1
Регистрация: 30.06.2015
Сообщений: 41

Поиск в реестре всех USB-устройств, когда-либо подключенных к ПК

07.12.2016, 19:23. Показов 34847. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ветви где хранится вся информация о флешках, что мы подключали.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Enum\USBSTOR
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Enum\USB

Мне нужно взять всю информацию с ветвей и сделать вот такого рода txt со списком всех таких устройств.
======================================== ==========
Имя устройства : Port_#0006.Hub_#0004
Описание : Intel(R) Wireless Bluetooth(R)
Тип устройства : Устройство Bluetooth
Подключено : Да
Безопасное извлечение: Да
Отключено : Нет
USB хаб : Нет
Буква диска :
Серийный номер :
Первое подключение: 07.12.2016 10:06:31
Последнее подкл./откл.: 24.09.2016 18:36:50
VendorID : 8087
ProductID : 07da
Firmware Revision : 78.69
USB Class : e0
USB SubClass : 01
USB Протокол : 01
Хаб / Порт : Hub 2, Port 6
Имя компьютера :
Vendor Name :
Product Name :
ParentId Prefix : 7&1b642639&0
Service Name : BTHUSB
Service Description: @bth.inf,%BTHUSB.SvcDesc%;Драйвер порта USB радиомодуля Bluetooth
Driver Filename : BTHUSB.sys
Device Class :
Device Mfg : Intel Corporation
Power : 0 mA
USB Version : 2.00
Driver Description: Intel(R) Wireless Bluetooth(R)
Driver Version : 18.1.1613.3274
Instance ID : USB\VID_8087&PID_07DA\6&1acfd2d8&0&6
======================================== ==========

======================================== ==========
Имя устройства : Port_#0005.Hub_#0003
Описание : Verbatim STORE N GO USB Device
Тип устройства : Устройство хранения данных
Подключено : Нет
Безопасное извлечение: Да
Отключено : Нет
USB хаб : Нет
Буква диска :
Серийный номер : 0707272A91443762
Первое подключение: 04.10.2016 8:44:38
Последнее подкл./откл.: 04.10.2016 8:42:49
VendorID : 18a5
ProductID : 0243
Firmware Revision : 1.00
USB Class : 08
USB SubClass : 06
USB Протокол : 50
Хаб / Порт :
Имя компьютера :
Vendor Name :
Product Name :
ParentId Prefix :
Service Name : USBSTOR
Service Description: @usbstor.inf,%USBSTOR.SvcDesc%;USB Mass Storage Driver
Driver Filename : USBSTOR.SYS
Device Class :
Device Mfg : Compatible USB storage device
Power :
USB Version :
Driver Description: USB Mass Storage Device
Driver Version : 10.0.14393.0
Instance ID : USB\VID_18A5&PID_0243\0707272A91443762
======================================== ==========

Начал делать программу:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
@ECHO OFF
CHCP 1251 > NUL
SET UNISTALL=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
SET UNISTALL2=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR
SET file=USB_%computername%_%DATE%.txt
FOR /f "tokens=6 delims=" %%a IN ( 'reg query "%UNISTALL%"' ) DO (
ECHO Обрабатываем файл %%a
@ECHO ================================================== >> %file%
@ECHO %%a >> %file%
@ECHO Имя устройства        : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "LocationInformation"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Описание              : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Тип устройства        : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% )
@ECHO Подключено            : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Безопасное извлечение : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Отключено             : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO USB хаб               : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Буква диска           : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Серийный номер        : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Первое подключение    : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Последнее подкл./откл.: >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO VendorID              : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO ProductID             : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Firmware Revision     : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO USB Class             : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO USB SubClass          : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO USB Протокол          : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Хаб / Порт            : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Имя компьютера        : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Vendor Name           : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Product Name          : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO ParentId Prefix       : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Service Name          : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Service Description   : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Driver Filename       : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Device Class          : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Device Mfg            : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Power                 : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO USB Version           : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Driver Description    : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Driver Version        : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "КЛЮЧ"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO Instance ID           : >> %file%
    FOR /f "tokens=1,2,*" %%b IN ( 'reg query "%UNISTALL%\%%a" ^| FIND /I "SymbolicName"' ) DO (  @ECHO %%d >> %file% ) 
@ECHO ================================================== >> %file%
CLS
)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2016, 19:23
Ответы с готовыми решениями:

Как получить список когда-либо подключенных USB устройств к ПК на windows в JAVA?
Нужно получить список usb устройств подключенных к пк за все время, с подробной информацией о каждом. Попытался использовать java4usb....

Определение подключенных usb устройств
Здравствуйте форумчане. Пишу программу, которая при подключении съемного диска проводит сканирование на наличие файлов .inf. Список...

Получить список устройств, подключенных к USB
Доброго времени суток. Пытаюсь получить список устройств подключенных к USB import java.io.UnsupportedEncodingException; import...

6
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.12.2016, 22:50
Цитата Сообщение от AXLL Посмотреть сообщение
Начал делать программу:
Звучит оптимистично. Только программы делаются на ЯП-ах, а не на shell-ах типа cmd. К тому же именно такую программу уже сделали до вас: Nir Soffer, USBDeview.

PS: У него на сайте еще примерно 200 таких велосипедов - с простым и удобным GUI, у многих есть cmdline и вывод в html таблицу.
0
07.12.2016, 23:31

Не по теме:

Цитата Сообщение от Garry Galler
У него на сайте еще примерно 200 таких велосипедов - с простым и удобным GUI
"Велосипеды" Софера для средних умов, люди здравомыслящие его барахло юзать не станут.
Цитата Сообщение от Garry Galler
Только программы делаются на ЯП-ах, а не на shell-ах типа cmd.
Это Вы юниксоидам и почитателям Cygwin скажите, может тогда одумаются и перестанут писать на sed'е и иже с ним всяческие рисовалки графиков да тетрисы. И потом в винде некоторые апишные функции в конечном итоге извлекают данные из реестра, тот же devcon.exe иеет секас с реестром. Так что не принципиально.

0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
08.12.2016, 00:29
AXLL,
Ну делайте на здоровье. Или это показать что вы делаете что-то нужное, так проще "USBDeview.exe".
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
08.12.2016, 00:33
Цитата Сообщение от greg zakharov Посмотреть сообщение
на shell-ах типа cmd
Bash и unix не здесь даже не подразумевались. Даже подспудно. Даже между строк. Даже синекдохически.

Не по теме:

Цитата Сообщение от greg zakharov Посмотреть сообщение
"Велосипеды" Софера для средних умов, люди здравомыслящие его барахло юзать не станут.
Камрады, нужно, срочно отформатировать наши жесткие диск - на них detected "барахло"!
Мы ведь не средние умы - давайте пользоваться только IDA и vim-ом. Зачем на всякие удобные гуи?! В топку их!
--------------------------------------------------
PS:... Лично мне фиолетово кто там что считает - хочу пользуюсь. Для своей ниши - это идеальный набор готовых инструментов. У более продвинутых наборов типа Winternals - ниша совершенно другая.
Свое право на существование NirSoft давно уже доказал рейтингами посещения сайта и частотой "цитируемости" утилит. А так как инструменты бесплатные - насильно пользоваться удобными вещами никто никого не заставляет. Dixi.

0
5 / 5 / 1
Регистрация: 30.06.2015
Сообщений: 41
09.12.2016, 22:52  [ТС]
Я спросил не кто сделал до меня такую, ни на чем ее вы считаете нужно делать, а как мне верно в ветви реестра углубиться и найти все нужные ключи. - Задача выполнима.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
10.12.2016, 02:37
Цитата Сообщение от AXLL Посмотреть сообщение
Задача выполнима
Угу. В бесконечной вселенной выполнимо все.
Как определять Первое подключение и Последнее подкл./откл. уже выяснили?
Если нет - то для первого нужно распарсить setupapi.dev.log, для второго - каждый подключ в USB\USBSTOR (либо подключи с особыми guid-ами в DeviceClasses) экспортировать в txt и распарсить на фразу Последнее время записи.
cmd, к слову, отличный инструмент для парсинга. Отличный от слова - отличается от прочих :-)
Информация об этих вещах в открытом доступе, хорошо гуглится и не мешало бы прочесть на эту тему хотя бы одну статью.
Когда ~закончите(?) c этими параметрами - можно будет перейти к поиску прочих. Одним реестром, тут вряд ли дело обойдется. Кое-что можно и через WMI вытащить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2016, 02:37
Помогаю со студенческими работами здесь

"Устройство USB не опознано. Одно из подключенных к этому компьютеру USB-устройств работает неправильно и Windows не удается опознать его..."
У меня такая проблема: глючит USB. Обьясняю суть - на компьютере два разъема для USB, оба рабочие, к одному подключена мышь, ко второму -...

Определите предикат p(+U, +V, ?L) - истинный тогда и только тогда, когда L - список всех элементов, содержащихся либо в списке U, либо в списке V.
Здравствуйте, помогите пожалуйста решить задачу. Заранее благодарна) Определите предикат p(+U, +V, ?L) - истинный тогда и только...

25% всех вирусов создано для USB-устройств
PandaLabs опубликовала отчет о Втором Международном исследовании уровня IT-безопасности компаний среднего и малого бизнеса. В рамках...

Вирус сидящий либо в реестре, либо заражен Chrome
Всем привет. 1. Открывая интернет-банкинг своего банка и переходя по ссылкам, открывает новую вкладку с сайтом 365bet.com. 2. AVZ...

Поиск в реестре всех упоминаний указанного файла
Всем привет!!! С наступившим всех новым годом!!! Задача в следующем: Есть программа осуществляющая поиск файлов на диске. Так вот,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru