Win系统 - Devcon 启用 / 禁用设备、驱动程序

简介: Win系统 - Devcon 启用 / 禁用设备、驱动程序

背景:以启用 / 禁用网卡举例。

系统平台:win2003。

情况描述: 机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先禁用一个网卡,启用另一个网卡。来回点鼠标太麻烦,所以想到用命令行。

操作目的:便捷切换内外网

工具下载:https://download.csdn.net/download/dream_weave/11230732

操作方法

1、尝试过的方法

(1)netsh interface,该命令下有enable和disable,但对LAN端口不起作用。

(2)Power Shell,微软推出的增强命令行工具,类似bash,支持脚本,功能强大。个人认为肯定可以。但我毕竟是外行,学起来头疼。

(3)使用devcon。需要注意的是搞清楚硬件ID(hardware ID)和范例ID(Instance ID)的区别,同时使用必须的转义字符。

2、正确方法

  Step1 运行devcon hwids pci\* > pci_device.txt

  该命令将所有PCI设备的全部ID(范例ID、硬件ID、兼容ID等等)输出到一个文本文件中,这样可以直接粘贴那一长串范例ID,不用手打了。

  Step2 编辑pci_device.txt 找到相关设备。下面是我机器上该部分的内容:

PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50

   Name: Realtek RTL8139 Family PCI Fast Ethernet NIC #2

   Hardware ID's:(硬件ID)

       PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10

       PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC

       PCI\VEN_10EC&DEV_8139&CC_020000

       PCI\VEN_10EC&DEV_8139&CC_0200

   Compatible ID's:(兼容ID)

       PCI\VEN_10EC&DEV_8139&REV_10

       PCI\VEN_10EC&DEV_8139

       PCI\VEN_10EC&CC_020000

       PCI\VEN_10EC&CC_0200

       PCI\VEN_10EC

       PCI\CC_020000

       PCI\CC_0200

最上面最长的那一行『PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50』就是唯一标识该网卡的 范例ID

   Step3 禁用网卡,运行下列命令:

  devcon /r disable "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&50"

或者简单点,干脆禁用所有带DEV_8139字符的设备:devcon disable *DEV_8139*

注意所有范例ID前必须加@字符;将disable改为enable就是启用;由于设备范例 ID 包含 & 字符 (&),因此它们应包含在引号中;可以包含 /r 参数,该参数会在必要时重新启动系统以使设置生效。如果有多个设备,每个设备实例 ID 与其他设备实例 ID 之间用一个空格分隔

比如:

devcon /r disable "@USB\ROOT_HUB\4&2A40B465&0" "@USB\ROOT_HUB\4&7EFA360&0" "@USB\VID_045E&PID_0039\5&29F428A4&0&2"

详情参阅:http://technet.microsoft.com/zh-cn/library/ff544746


以下是我自己编写的一个批处理文本

@echo off& mode con cols=80 lines=20& color 3f 
echo ●●●●●●●●●●●●
echo ●  1:启用拨号网卡 禁用内网网卡,拨号
echo ●  2:断开ADSL网络 
echo ●  3:启用内网网卡 禁用拨号,连内网
echo ●  4:15秒后关闭电脑
echo ●  5:退出
echo ●●输入数字后,回车 ●●
set /p answer=
if %answer%==1 goto 1
if %answer%==2 goto 2
if %answer%==3 goto 3
if %answer%==4 goto 4
if %answer%==5 goto 5
:1 
echo 启用拨号网卡,并禁用局域网网卡,请稍等……
devcon disable = "@PCI\VEN_10EC&DEV_8136&SUBSYS_301A17AA&REV_01"
devcon enable = "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10"
echo 正在拨号……
Rasdial "宽带连接" 063100492203 776143
echo -----------------------------------
echo 设置完成,按任意键打开联网直报平台!
pause 
start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"
goto end
:2
Rasdial "宽带连接" /disconnect
goto end
:3
echo 启用局域网网卡,并禁用拨号网卡,请稍等……
devcon enable = "@PCI\VEN_10EC&DEV_8136&SUBSYS_301A17AA&REV_01"
devcon disable = "@PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10"
echo 正在自动获取IP……
netsh interface ip set address name="板载网卡" dhcp
netsh interface ip set dns name="板载网卡" dhcp
echo --------------------------------
echo 设置完成!按任意键打开sina mail!
pause 
start "" "http://mail.sina.com"
goto end
:4
shutdown -s -t 15
goto end
:5
goto end
:adsl
Rasdial "宽带连接" 063100492203 776143
echo 拨号成功,按任意键打开联网直报平台!
pause
start "" "http://zb.stats-sd.gov.cn/dr/queryLoginInfo.do"
goto end
目录
相关文章
|
安全 Windows
Windows 无法连接打印机,请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开,并且打印机地址正确。报错代码:0x00000709
Windows 无法连接打印机,请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开,并且打印机地址正确。报错代码:0x00000709
Windows 无法连接打印机,请检查打印机名并重试。如果这是网络打印机,请确保打印机已打开,并且打印机地址正确。报错代码:0x00000709
|
11月前
禁用nouveau驱动
禁用nouveau驱动
|
Java Android开发
Android8.1 出厂前默认开启USB调试且自动授权,恢复出厂关闭USB调试方案
Android8.1 出厂前默认开启USB调试且自动授权,恢复出厂关闭USB调试方案
570 0
|
虚拟化
Vmware虚拟机无法打开内核设备“\\.\Global\vmx86“的解决方法
Vmware虚拟机无法打开内核设备“\\.\Global\vmx86“的解决方法
1790 0
Vmware虚拟机无法打开内核设备“\\.\Global\vmx86“的解决方法
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
725 0
|
Windows
Win系统 - 从USB3.0端口启动安装Windows系统,提示缺少驱动器设备驱动程序的解决办法
Win系统 - 从USB3.0端口启动安装Windows系统,提示缺少驱动器设备驱动程序的解决办法
251 0
Win系统 - 从USB3.0端口启动安装Windows系统,提示缺少驱动器设备驱动程序的解决办法
|
测试技术 API Android开发
用Airtest获取本地可用设备实现自动启动or关闭应用的小任务
用Airtest获取本地可用设备实现自动启动or关闭应用的小任务
363 0
|
Windows
Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
320 0
Windows 技术篇-win7利用系统自带工具关闭开机启用程序,不使用杀毒软件设置开机启动项
如何禁用电脑USB接口
方法一,BIOS设置法重新启动计算机,在开机过程中,点击键盘上的“Delete”键,进入BIOS设置界面,选择“Integrated Peripherals”选项,展开后将“USB 1.1 Controller”和“USB 2.0 Contr01ler”选项的属性设置为“Disableed”,即可禁用USB接口。
1109 0