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
Device Console (DevCon.exe) Commands
DevCon (DevCon.exe) is a command line tool that can display detailed information about devices on computers running Windows. You can also use DevCon to enable, disable, install, configure, and remove devices. DevCon uses the following syntax.
Parameters
NoteВ В To change the status or configuration of a device, you must be a member of the Administrators group on the computer.
The parameters in a DevCon command must appear in the order shown in the syntax. If parameters are not in order, DevCon ignores them, but does not display a syntax error. Instead, it processes the command with the remaining parameters.
For help on command syntax, you can use the following commands in a Command Prompt window: DevCon help or DevCon help command.
/m:\\computer Runs the command on the specified remote computer. The backslashes are required. NoteВ В To run DevCon commands on a remote computer, the Group Policy setting must allow the Plug and Play service to run on the remote computer. On computers that run Windows Vista and later versions of Windows, the Group Policy disables remote access to the service by default. On computers that run WDKВ 8.1 and WDKВ 8, the remote access feature is unavailable.
/r Conditional reboot. Reboots the system after completing an operation only if a reboot is required to make a change effective.
This parameter differs from the DevCon Reboot operation, which forces the system to reboot. Instead, the /r parameter determines whether a reboot is required based on the return code from the accompanying operation.For more information, see Rebooting and restarting.
command Specifies a DevCon command. For information about the available DevCon commands and the command arguments, use the following list.
You can also get syntax help in a Command Prompt window using DevCon help command.
To list and display information about devices on the computer, use the following commands:
To search for information about devices on the computer, use the following commands:
To manipulate the device or change its configuration, use the following commands: