Диспетчер устройств DevCon из командной строки
Администрируя сервер на базе Windows Server 2003 Standard Edition SP2 Rus, столкнулся с задачей, когда в целях его “секьюритизации” необходимо было на ночь опускать его сетевые интерфейсы. То, что в данный момент он не сможет полноценно работать в домене – в расчет не бралось. Задача состояла именно в полной недоступности его из сети в определенные часы суток. Поискав в интернете, наткнулся на интересную программу от Microsoft с интерфейсом командной строки – DevCon, которая может использоваться в качестве альтернативы встроенному в операционную систему Windows диспетчеру устройств. |
Скачиваем либо с моего сайта, либо с сайта Microsoft эту программу. Скачанный файл представляет собой самораспаковывающийся WinZip архив, разархивировав который вы получите три файла: лицензионное соглашение и два файла программы DevCon для процессоров с архитектурой i386 и ia64 в папках с соответствующими названиями. Мне понадобился файл с программой из папки i386.
Положите файл программы в любое место на вашем диске. Запустить программу DevCon легко, просто перетащив ее мышкой в окно командной строки. Просмотреть помощь по работе с программой и узнать ее команды можно так:
C:\>devcon.exe /?
Чтобы получить помощь по какой-нибудь конкретной команде (например, find) из программы DevCon, необходимо перед командой написать help, например:
C:\>devcon.exe help find
Чтобы отобразить все известные устройства PCI на своем локальном компьютере введите следующее:
C:\>devcon.exe find pci\*
Более развернутое пояснение и некоторые примеры работы программы DevCon вы можете просмотреть на сайте Microsoft по этой ссылке.
Вернемся к решению моей задачи. Для того, чтобы отобразить все существующие в системе сетевые устройства, необходимо ввести следующее:
C:\>devcon.exe find =net
Программа отобразила 7 устройств! У меня на сервере всего 2 сетевые карты Intel® PRO/1000 EB Network Connection. Но тут я вспомнил, что диспетчер устройств не отображает скрытые устройства. Чтобы их увидеть необходимо в окне диспетчера устройств выбрать в меню “Вид” -> “Показать скрытые устройства”. Теперь все в норме! :)
Для того, чтобы отключить все показанные сетевые устройства, необходимо дать следующую команду (лучше не делать этого удаленно!):
C:\>devcon.exe disable =net
Диспетчер устройств честно нам покажет, что все сетевые устройства отключены. Сеть полностью отключена, что нам и требовалось.
Для того, чтобы включить сетевые устройства, необходимо дать команду:
C:\>devcon.exe enable =net
Проконтролируем включение всех сетевых устройств в диспетчере устройств.
Нам осталось написать два командных файла с указанными выше командами включения и отключения сетевых устройств и сделать на основе них задачи, чтобы они выполнялись в необходимое время.
Мне осталось только напомнить, так как с помощью программы DevCon вы можете отключить практически любое устройство своего компьютера, пользоваться ей надо очень осторожно! Не отключайте устройства по маске, не отключайте неизвестные вам устройства, вы таким образом можете добиться полной неработоспособности своей операционной системы.
Все, удачи!
Столкнулся с ситуацией, когда нужно выборочно отключить одну из сетевых (ветка приблизительно такая же как и у Вас) но проблема в том, что id у них практически одинаков, и если фильтровать по вендэру то отличие только в последних 4-х символах
Как в таком случае «выдернуть» одну из них ?
devcon.exe disable =net PCI\VEN_8086&DEV_1096&SUBSYS_530010F1&REV_00\6&748A419&0&01100010
отключит только вторую сетевую карту из примера выше. Разница лишь в перечислителе.
Интересная ифушка. а где ты узнал что можно использовать такой параметр как “pci” “net” я вот свое устройство немогу увидеть по этим командам что использовать мне для встроенного рейда например?
Столкнулся с такой ситуацией: Не отрабатывает ни одна команда всегда пишет failed. Устройства и пути находит, но ни одно действие с ними не выполняет. В чем может быть проблема?