- DevCon — диспетчер устройств в командной строке Windows.
- Примеры использования утилиты DevCon:
- [Решено] Установка MultiKey на Windows 10 x64 1903 / 1909
- Devcon Failed
- Дополнительные параметры загрузки Windows 10
- Установка не подписанного драйвера MultiKey
- Подписываем драйвер цифровой подписью
- Исправляем ошибку (код 52)
- [Решено] Установка MultiKey на Windows 10 x64 1903 / 1909 : 15 комментариев
DevCon — диспетчер устройств в командной строке Windows.
Утилита командной строки DevCon.exe ( Device Console ) входит в состав средств для разработки драйверов ( DDK ) и поставляется с исходным кодом и документацией на английском языке. С ее помощью можно включать, выключать, перезапускать, обновлять, удалять и опрашивать отдельные устройства или группы устройств. Программа DevCon также предоставляет необходимые разработчику драйвера сведения, которые недоступны с помощью диспетчера устройств. Утилита DevCon может использоваться во всех версиях Windows старше Win2k, включая 32-х и 64-битные
Формат командной строки DevCon:
devcon.exe [-r] [-m:\\machine] command [. ]
Параметры командной строки:
-r — если задано, то после выполнения команды выполняется перезагрузка системы.
machine — имя или IP-адрес удаленного компьютера.
command — команда, выполняемая DevCon.
arg — аргументы выполняемой команды.
Для получения справки по использованию команды используется парамет help :
devcon.exe help — отобразить краткую справку по использованию DevCon
devcon.exe help install — отобразить справку по использованию команды install
Параметры командной строки:
classfilter — Разрешить изменение фильтров классов.
classes — Отобразить все классы настройки устройств.
disable — Отключить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
driverfiles — Отобразить установленные файлы драйверов.
drivernodes — Отобразить все узлы драйверов устройств.
enable — Включить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
find — Найти устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
findall — Найти устройства, включая отсоединенные.
help — Отображение справочной информации.
hwids — Отобразить идентификаторы оборудования.
install — Установить устройство в ручном режиме.
listclass — Отобразить все устройства для класса настройки.
reboot — Перезагрузить локальный компьютер.
remove — Удалить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
rescan — Выполнить поиск нового оборудования.
resources — Отобразить ресурсы устройств.
restart — Перезагрузить устройства, которые соответствуют определенному идентификатору оборудования или экземпляра.
stack — Отобразить ожидаемый стек драйверов устройств.
status — Отобразить рабочее состояние устройств.
update — Обновить устройство в ручном режиме.
UpdateNI — Обновить устройство в ручном режиме без уведомления пользователя.
SetHwID — Добавить, удалить или изменить порядок идентификаторов оборудования для устройств с корневым перечислением.
Для использования утилиты DevCon.exe требуются административные привилегии ( «Запуск от имени Администратора» в среде Windows Vista / Windows 7 — 10 )
Примеры использования утилиты DevCon:
devcon -m:\\SERVER find pci* — отобразить список всех PCI-устройств на удаленном компьютере с именем SERVER . Режим работы с удаленным подключением к другому компьютеру реализован только для ОС Windows XP / Windows Server 2003.
devcon -m:\\192.168.0.1 find pci* > C:\serverpci.txt — вывод списка всех PCI-устройств компьютера с IP-адресом 192.168.0.1 в текстовый файл C:\serverpci.txt
devcon find usb* — отобразить список устройств USB на локальном компьютере.
devcon find usbstor* — отобразить только флэшки и съемные диски, подключенные к USB (устройства класса usbstor ). Список классов устройств можно получить по команде devcon classes
devcon find =Display — отобразить список устройств класса Dislpay .
devcon find *pnp07* — отобразить список устройств, идентификатор оборудования которых содержит строку pnp07
devcon find *VEN_8086* — отобразить список устройств, производителем которых является Intel ( идентификатор производителя оборудования содержит строку VEN_8086 )
Пример отображаемой информации:
PCI\VEN_1002&DEV_5964&SUBSYS_ 7C26174B&REV_01\ 4&38B71F77&0&0008: RADEON 9200 SE Family (Microsoft )
PCI\VEN_1002&DEV_5D44&SUBSYS_ 7C27174B&REV_01\ 4&38B71F77&0&0108: RADEON 9200 SE SEC Family (Microsoft )
PCI\VEN_10EC&DEV_8139&SUBSYS_ 813910EC&REV_10\ 4&2E98101C&0&48F0: Realtek RTL8139 Family PCI Fast Ethernet NIC
PCI\VEN_11AB&DEV_4320&SUBSYS_ 811A1043&REV_13\ 4&2E98101C&0&28F0: Marvell Yukon 88E8001/8003/8010
PCI Gigabit Ethernet Controller
PCI\VEN_11AB&DEV_5041&SUBSYS_ AD0E779F&REV_01\ 4&5D18F2DF&0 : AT7B35J8 IDE Controller
PCI\VEN_8086&DEV_244E&SUBSYS_ 00000000&REV_C2\ 3&267A616A&0&F0: Intel(R) 82801 PCI — 244E
PCI\VEN_8086&DEV_24D0&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&F8: Intel(R) 82801EB LPC- — 24D0
PCI\VEN_8086&DEV_24D1&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&FA: Intel(R) 82801EB Ultra ATA Storage — 24D1
PCI\VEN_8086&DEV_24D2&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&E8: Intel(R) 82801EB USB — — 24D2
PCI\VEN_8086&DEV_24D3&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&FB: Intel(R) 82801EB SMBus — 24D3
PCI\VEN_8086&DEV_24D4&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&E9: Intel(R) 82801EB USB — — 24D4
PCI\VEN_8086&DEV_24D5&SUBSYS_ 80F31043&REV_02\ 3&267A616A&0&FD: SoundMAX Integrated Digital Audio
PCI\VEN_8086&DEV_24D7&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EA: Intel(R) 82801EB USB — — 24D7
PCI\VEN_8086&DEV_24DB&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&F9: Intel(R) 82801EB Ultra ATA Storage — 24DB
PCI\VEN_8086&DEV_24DD&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EF: Intel(R) 82801EB USB2 — — 24DD
PCI\VEN_8086&DEV_24DE&SUBSYS_ 80A61043&REV_02\ 3&267A616A&0&EB: Intel(R) 82801EB USB — — 24DE
PCI\VEN_8086&DEV_2570&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&00: Intel(R) 82865G/PE/P/GV/82848P CPU — I/O — 2570
PCI\VEN_8086&DEV_2571&SUBSYS_ 00000000&REV_02\ 3&267A616A&0&08: Intel(R) 82865G/PE/P/GV/82848P CPU — AGP — 2571
18 matching device(s) found on \\SERVER
Для отображения списка устройств, в том числе отсутствующих или отключенных, используется подкоманда findall
devcon -m:\\comp findall *VEN_10ec* — отобразить список устройств производителя Realtek ( VEN_10EC ), включая отсутствующие, на удаленном компьютере comp . (только на Windows XP / Windows Server 2003).
devcon.exe resources * — отобразить список всех устройств и всех используемых ими ресурсов системы.
Пример отображаемой информации:
Name: Device is not using any resources.
Name: Intel(R) Pentium(R) 4 CPU 2.40GHz
Device is not using any resources.
Name: Device has the following resources reserved:
Name: Device has the following resources reserved:
Name: Device has the following resources reserved:
Name: Device is currently using the following resources:
Name: Device is currently using the following resources:
Name: Device is currently using the following resources:
Name: Device is currently using the following resources:
По каждому устройству выдается его имя и список используемых ресурсов:
IO : 03f0-03f5 — диапазон портов ввода-вывода ( 3f0-3f5 ).
DMA: 2 — номер канала прямого доступа к памяти ( например, канал 2 )
IRQ: 6 — номер прерывания, используемого устройством ( например 6 ).
MEM : fed20000-fed8ffff — диапазон адресов используемой оперативной памяти
devcon resources =ports — отобразить ресурсы, используемые устройствами класса ports . К данному классу относятся контроллеры параллельных и последовательных портов ввода-вывода (порты LPT и COM )
devcon driverfiles =net — отобразить список используемых драйверов сетевых устройств ( устройств класса net ). Отображается имя устройства, источник установленного драйвера, пути и мена файлов:
PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0
Name: Realtek RTL8139 Family PCI Fast Ethernet NIC
Driver installed from c:\windows\inf\netrtsnt.inf [RTL8139.ndi]. 1 file(s) used by driver:
PCI\VEN_11AB&DEV_4320&SUBSYS _811A1043&REV_13\ 4&2E98101C&0&28F0
Name: Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller
Driver installed from c:\windows\inf\oem6.inf [SLYukCopGigFAN.ndi]. 1 file(s) used by driver:
Name: Driver installed from c:\windows\inf\netrasa.inf [Ndi-Mp-L2tp]. No files used by driver
devcon stack =net > stack-net — записать в текстовый файл stack-net стек драйверов класса Net . Стек включает в себя драйвер устройства, нижний и верхний фильтр, системную службу, обслуживающую устройство.
PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0
Name: Realtek RTL8139 Family PCI Fast Ethernet NIC
PCI\VEN_10EC&DEV_8139&SUBSYS _813910EC&REV_10\ 4&2E98101C&0&48F0 — код экземпляра устройства.
Name — название
Setup Class — класс установки.
Controlling service — управляющий сервис.
Для определения текущего состояния устройства используется подкоманда status :
devcon status ROOT\RDP* — отобразить состояние драйверов, идентификаторы которых начинаются строкой ROOT\RDP , т. е. используемых службой терминалов.
Установка нового устройства возможна только на локальном компьютере и требуется обязательное наличие INF-файла :
devcon -r install %WINDIR%\Inf\Netloop.inf *MSLOOP — установить новый экземпляр петлевого адаптера. Ключ -r требует перезагрузку после установки драйвера.
Для изменения фильтров драйверов используются команды:
devcon classfilter upper !filter1 !filter2 — удалить два заданных верхних фильтра. Признаком действия на удаление является символ ! перед именем фильтра.
devcon classfilter lower !badfilter +goodfilter — заменить нижний фильтр «badfilter» на «goodfilter».
Изменения для фильтров вступают в силу либо при перезапуске основного драйвера, либо при перезагрузке компьютера. Подробную справку по управлению фильтрами можно получить по команде devcon help classfilter
Утилита DevCon позволяет останавливать, запускать или перезапускать отдельно выбранные устройства или группы устройств.
devcon disable =mouse — отключить драйвер устройства класса mouse , т.е отключить мышь.
devcon enable =mouse — включить драйвер устройства класса mouse
devcon restart =mouse — перезапустить драйвер устройства класса mouse
В практике сетевого администрирования, команду DevCon нередко используют для перезапуска сетевых адаптеров. Например, для сетевого адаптера Realtek RTL8139, с идентификатором PCI\VEN_10EC&DEV_8139 . . . можно воспользоваться командой:
devcon restart «PCI\VEN_10EC&DEV_8139*»
Обратите внимание — двойные кавычки в начальной части идентификатора сетевого адаптера обязательны. В противном случае, символ & будет обработан интерпретатором CMD Windows как стандартный символ объединения команд — команды devcon restart «PCI\VEN_10EC и команды DEV_8139* . Первая выполнит рестарт для всех существующих в системе адаптеров производителя Realtek, а вторая вызовет сообщение о том, что DEV_8139* не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Очень часто утилита DevCon используется для блокировки сетевой активности системы (временного отключения всех сетевых устройств):
devcon disable =net
Также, утилита может использоваться для перезапуска зависших модемов и беспроводных USB-адаптеров с использованием планировщика и сценария, проверяющего доступность какого-либо узла в интернет и выполняющего команду devcon restart в случае его недоступности.
Команда DevCon возвращает следующие коды ErrorLevel:
0 — команда выполнена успешно;
1 — требуется перезагрузить компьютер;
2 — команда не выполнена;
3 — синтаксическая ошибка.
Как уже упоминалось выше, утилита devcon не является стандартным компонентом системы, и не устанавливается вместе с Windows, однако, ее можно скачать в составе некоторых служебных пакетов от Microsoft ( Windows Driver Kit, Visual Studio, Windows SDK for desktop apps). Утилиту можно извлечь из перечисленных пакетов и для удобства использования, добавить в каталог, присутствующий в путях поиска исполняемых файлов, задаваемых переменной PATH , например \Windows\system32.
Обратите внимание на то, что 64-разрядная версия утилиты devcon64 не работает в 64-разрядных Windows 10 (Windows 8, 8.1, Windows 7). Она разрабатывалась только для 64-разрядной Windows XP. Если у Вас другая ОС Windows – пользуйтесь либо 32-разрядной версей DevСon.exe , которая прекрасно работает во всех версиях Windows старше Windows 2000, включая и 64-разрядные, либо 64-разрядной версией из пакета EWDK для Windows 10. Последняя не проверялась в среде 64-разрядной ОС Windows XP.
Страница с описанием на английском языке и ссылкой для скачивания DevCon в составе пакетов для разработчиков драйверов на сайте Microsoft. — На данной странице нет прямой ссылки для скачивания DevCon, но, например, имеется ссылка на страницу с актуальной версией Enterprise Windows Driver Kit (EWDK), а также инструкции по его загрузке и установке. Все пакеты, в состав которых включена утилита DevCon, имеют внушительный объем – придется скачивать несколько гигабайт данных. После установки выбранного пакета потребуется определить место расположения файлов DevCon , и при необходимости, добавить путь исполняемых файлов в системную переменную PATH или скопировать их в уже существующий каталог для поиска.
В конце данной страницы имеется ссылка для скачивания готового архива с уже извлеченными из EWDK для Windows 10 32-х и 64-разрядными версиями DevCon
[Решено] Установка MultiKey на Windows 10 x64 1903 / 1909
Принесли компьютер с проблемой: «не устанавливается MultiKey на Windows 10 64bit». Провозился пол дня, хотя проблема решается за 5 минут.
Процесс установки MultiKey состоит из двух пунктов:
- Установка Sentinel HASP драйвера
- Установка Multikey (пароль на архив testprotect.com)
С Sentinel HASP проблем не возникло. А вот сам МультиКей заставил пошуршать форумы.
Devcon Failed
Основная проблема заключается в том, что Multikey в Windows 10 никак не может подменить драйвер HASP. Получаем ошибку devcon failed.
Devcon failed
Что не помогло:
- включение тестового режима (bcdedit -set TESTSIGNING ON)
- включение режима «без проверки целостности файлов» (bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS)
Что помогло:
- установка MultiKey в режиме с Отключенной обязательной проверкой подписи драйверов.
Дополнительные параметры загрузки Windows 10
Чтобы попасть в этот режим, нужно с зажатой клавишей SHIFT перезагрузить компьютер (Пуск -> Перезагрузка). Перед перезагрузкой появится меню:
Дополнительные параметры загрузки Windows 10
Если всё сделано правильно, то после перезагрузки появится еще одно меню, непосредственно в котором нужно выбрать режим запуска Windows 10:
Дополнительные параметры загрузки Windows 10
Нужная нам клавиша — 7 (или F7).
Установка не подписанного драйвера MultiKey
Windows запущена в нужном режиме. Запускаем нужный нам файл install.cmd от имени администратора.
Windows ругается на не подписанный драйвер
Windows 10 ругается на то, что подменяемый драйвер не имеет цифровой подписи. Выбираем «Все равно установить этот драйвер». Windows снова ругается и говорит о том, что Требуется драйвер с цифровой подписью.
Требуется драйвер с цифровой подписью
Жмем закрыть Видим, что драйвер успешно установлен (Drivers installed successfully).
Подписываем драйвер цифровой подписью
Следующим пунктом необходимо подписать наш драйвер. Для этого используем программу Driver Signature Enforcement Overrider (DSEO). Сайт разработчика — ngohq.com.
Запускаем скачанный файл от имени администратора. Выбираем пункт меню «Sign a System File». Жмем Next.
Подписываем драйвер цифровой подписью (dseo)
Вводим путь к установленному новому драйверу. c:\Windows\System32\drivers\multikey.sys (возможно c:\Windows\System32\multikey.sys или c:\Windows\SysWOW64\multikey.sys, или еще что-то: пользуйтесь поиском).
Подписываем драйвер цифровой подписью (dseo)
Жмем ОК. Dseo подписывает драйвер и предлагает перезагрузить компьютер. Жмем «ОК». Перезагружаем компьютер.
Исправляем ошибку (код 52)
Поскольку драйвер мы подписали неведомым для Microsoft методом, Windows будет продолжать ругаться на наше устройство. Чтобы обойти эту проблему, необходимо загружать компьютер в тестовом режиме. В командной строке, запущенной от имени администратора включаем тестовый режим:
bcdedit -set TESTSIGNING ON
Перезагружаемся. Ошибка исчезла, но появилось предупреждение о том, что windows работает в тестовом режиме. Если надпись не мешает жить — тогда на этом всё. Если надпись напрягает — тогда можно убрать ее при помощи программы Universal Watermark Disabler.
Профит. MultiKey установлен и работает на Windows 10 64 bit.
В данной заметке использовались следующие файлы (скачаны с сайта разработчика, залиты на мой хостинг):
[Решено] Установка MultiKey на Windows 10 x64 1903 / 1909 : 15 комментариев
Добрый день! multikey_20.0.0.7z пароль от архива подскажите !?
Да, упустил 🙂
Пароль на архив: testprotect.com
Такой же, как и у разработчика на сайте
Долго бился с проблемой, что «devcon не является внутренней или внешней командой», кинул его из папки в system32, вроде не ругается, но после этого всегда Failed, на старой версии Multikey всё в норме, но она выдаёт код ошибки 39 в диспетчере устройств, ваш метод увы, действия не возымел
Ошибка «devcon не является внутренней или внешней командой», появляется из-за того, что обработчик (командная строка cmd.exe) не понимает, где находится файл devcon.exe
Знаю 2 решения подобной проблемы:
- Запускать bat/cmd файлы (install.cmd, remove.cmd, restart.cmd) НЕ от имени администратора
- Если нужно всё же запускать с администраторскими правами, тогда:
- Запустить командную строку от имени администратора
- Перейти в каталог с исполняемой программой (например для каталога «C:/multikey_x64» командой «cd C:\multikey_x64»)
- Запустить исполняемый файл
Но всё это нужно делать с установленным HASP драйвером и в среде с отключенной обязательной проверкой драйверов.
dseo13b.exe сделан из Vise installer, содержит внутри себя 32-битные .exe из SDK и DDK, а потому dseo13b.exe не может подписать 64-битный файл — для этого нужны 64-битные инструменты.
dseo13b.exe извлекает из своего чрева в папку c:\windows и там запускает .exe, это видно по протоколу, созданному Process Monitor (live.sysinternals.com), и dseo13b.exe никогда не анализирует код завершения процесса — даже если запущнный .exe ничего не сделал, dseo13b.exe бодро рапортует — «всё успешно, надо перезагрузиться».
Не вдавался в тонкости, но:
На сайте разработчика в качестве примера приведена 64-битная версия драйвера.
Насколько я понял из Вашего комментария, драйвер в моём примере так и остался неподписанным.
Так действительно всё становится на своим места 🙂
Спасибо за замечание!
максимум, что можно получить от dseo13b.exe — подписать .cat файл, созданный inf2cat.exe из SDK
так всегда подписывается именно cat файл. sys файл при этом не трогается. Но у него (sys-файла) вычисляется sha1 хеш-сумма, которая тоже прописывается в cat файл. Т.о. дополнительно контролируется неизменность файла sys
Установка Sentinel HASP драйвера
а где взять этот драйвер? можно подробнее расписать ?
а то поиск выдал эту инструкцию, а про эту установку ни слова (
С Sentinel HASP проблем не возникло, у меня возникла ) что поставить, пошел опять в гугл, не полная инструкция (
все поставил , лицензия не обнаружена ( что не так ?
когда устанавливаю платформу надо убирать галочки с установки драйвера защиты ? и второй, я снял все
Вы тут серьёзно все?? Уже давно есть подписанные драйвера для мультикея для 64-й винды.
а там для него еще вроде лицензию надо еще на базе сгенерированного id компа. или нет? что то не работает
Файл заражен вирусом
Скачивать зараженные файлы может только владелец.