Толик Панков
hex_laden
............ .................. ................

October 2025
      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

Толик Панков [userpic]
Отключение/включение сетевой карты с помощью DEVCON.EXE

Я тут Devcon упоминал, и вот для чего. Задача такая, склепать батник для включения/выключения сетевой карты. Решаем:

Что потребуется:

Рабочий Devcon.exe
Поиск ID сетевой карты

Для начала надо найти ID сетевой карты, для чего выводим список PnP-устройств в текстовый файл:
devcon.exe rescan
devcon find PCI\* > PNP.log
Сетевая карта (даже встроенная) обычно висит на шине PCI.
В файле PNP.log будет что-то типа этого:

А вот и наша сетевая карта (подчеркнута красным)

Выдираем ее ID, с помощью которого и будем ей рулить.
Открываем файл на редактирование, ищем название и то, что начинается от первого слэша с конца, до первого с конца двоеточия и будет искомым идентификатором:
PCI\VEN_10EC&DEV_8168&SUBSYS_83A31043&REV_03
Этот ID для команды включения/отключения можно и сократить, например до ID производителя+ID оборудования, поставив в нужном месте звездочку (*), например так:
PCI\VEN_10EC&DEV_8168*
Но если вдруг у вас 2 одинаковые сетевые карты (на серверах бывает) - вырубятся обе.

Отключение устройства

Выполняется одной простой командой:
devcon disable <device_id>
где вместо <device_id> подставляем ранее найденный ID устройства. Т.е. в случае моей тестовой машины, команда выглядит как:
devcon disable "PCI\VEN_10EC&DEV_8168&SUBSYS_83A31043&REV_03"

Включение устройства
Не менее простая команда:
devcon enable <device_id>
т.е. в моем случае:
devcon enable "PCI\VEN_10EC&DEV_8168&SUBSYS_83A31043&REV_03"

ВАЖНО!
device_id необходимо взять в кавычки!!! Иначе командный интерпретатор примет (из-за наличия в ID амперсанда - т.е. символа &) одну команду за последовательность команд, и тогда выполнится первая disable PCI\VEN_10EC, т.е. отключатся все PCI-устройства данного производителя, а остальные завершатся с ошибкой типа такой: "DEV_8168" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Готовые батники на pastebin

Включить сетевую карту
Отключить сетевую карту

Tags: ,
Comments

ааа... это ты опоздал, а я (дебил) подумал, что ты меня критикуешь за то, что я раньше не написал сей пост... Извини.
Когда в башку стукнуло, тогда и написал, блог же.