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 * - отобразить список всех устройств и всех используемых ими ресурсов системы.

Пример отображаемой информации:

ACPI\FIXEDBUTTON\2&DABA3FF&0

Name: Device is not using any resources.

ACPI\GENUINEINTEL_-_X86_FAMILY_15_MODEL_4\_0

Name: Intel(R) Pentium(R) 4 CPU 2.40GHz

Device is not using any resources.

ACPI\PNP0000\4&35F762C4&0

Name: Device has the following resources reserved:

IO : 0020-0021

IO : 00a0-00a1

ACPI\PNP0100\4&35F762C4&0

Name: Device has the following resources reserved:

IO : 0040-0043

IRQ : 0

ACPI\PNP0200\4&35F762C4&0

Name: Device has the following resources reserved:

IO : 0000-000f

IO : 0081-0083

IO : 0087-0087

IO : 0089-008b

IO : 008f-008f

IO : 00c0-00df

DMA : 4

ACPI\PNP0303\4&35F762C4&0

Name: Device is currently using the following resources:

IO : 0060-0060

IO : 0064-0064

IRQ : 1

ACPI\PNP0501\1

Name: Device is currently using the following resources:

IO : 03f8-03ff

IRQ : 4

ACPI\PNP0501\2

Name: Device is currently using the following resources:

IO : 02f8-02ff

IRQ : 3

ACPI\PNP0700\4&35F762C4&0

Name: Device is currently using the following resources:

IO : 03f0-03f5

IO : 03f7-03f7

DMA : 2

IRQ : 6

. . .



По каждому устройству выдается его имя и список используемых ресурсов:

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:

C:\WINDOWS\system32\ DRIVERS\RTL8139.sys

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:

C:\WINDOWS\system32\ DRIVERS\yk51x86.sys

ROOT\MS_L2TPMINIPORT\0000

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

Setup Class: {4D36E972-E325-11CE -BFC1-08002BE10318} Net

Controlling service:

rtl8139



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, однако, ее можно добавить в каталог, присутствующий в путях поиска исполняемых файлов, например \Widows\system32, и использовать как дополнительное средство управления устройствами в Windows.

Страница с описанием на английском языке и ссылкой для скачивания DevCon на сайте Microsoft.

DevCon32.zip ( 16 кб. )
- скачать ZIP-архив 32-разрядной утилиты DevCon.exe . Работает в 32- и 64-разрядных ОС Windows Vista, Windows 7 и более поздних.

DevCon64.zip ( 28 кб) - скачать ZIP-архив утилиты DevCon.exe для 64-разрядной ОС Windows XP. Не работает в 64-разрядных ОС Windows Vista, Windows 7/8 и более поздних.







Весь список команд CMD Windows