使用devcon禁用启用网卡
系统平台:win2003
情况描述: 机器上装有两块网卡,8136和8139,网卡A使用静态IP,连接内部办公网,网卡B使用DHCP,连接互联网。切换两个网络时,需要先禁用一个网卡,启用另一个网卡。来回点鼠标太麻烦,所以想到用命令行。
操作目的:便捷切换内外网
操作方法:
尝试过的方法
(1)netsh interface,该命令下有enable和disable,但对LAN端口不起作用。
(2)Power Shell,微软推出的增强命令行工具,类似bash,支持脚本,功能强大。个人认为肯定可以。但我毕竟是外行,学起来头疼。
(3)使用devcon。需要注意的是搞清楚硬件ID(hardware ID)和范例ID(Instance ID)的区别,同时使用必须的转义字符。
正确方法是:
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
使用devcon禁用启用网卡的更多相关文章
- linux下禁用网卡的启用网卡的一些方法
第一种方法: 这种方法主要是在不重启的情况下会一直生效,适用于服务器. #禁用网卡eth0 sudo ifconfig eth0 down #启用网卡eth0 sudo ifconfig eth0 u ...
- shell 获取网关 以及修改ip 启用网卡
shell 获取网关 以及修改ip 启用网卡 #!/bin/bash #autho freefei #script is a init computer eth #data 2014 10 09 19 ...
- 如何修改SpriteBuilder中的按钮禁用启用状态
按钮的禁用状态和按钮的User Interaction Enabled属性并不相符. 后者设定的是按钮是否参与用户交互. 你不能直接在SpriteBuilder中编译按钮的禁用启用属性.除非你想给按钮 ...
- 【网摘】EasyUI常用控件禁用启用方法
1.validatebox可以用的用法:前两种适用于单个的validatebox; 第三种应用于整个form里面的输入框; <1>.$("#id").attr(&quo ...
- CentOS7 开启网卡,设置开机启用网卡
默认centos和redhat7都是不启用有线网卡的,要么手动开启,要么安装时直接启用(安装时启用网卡和指定IP最省事)! 一 .临时启用网卡,关机或重启后,网络不会自动开启1.使用命令 ip add ...
- CentOS 7 救援模式启用网卡及重新获取IP地址
重新自动获取IP地址命令: dhclient 启用网卡命令 ifconfig ens33 up https://blog.csdn.net/hongmin118/article/details/782 ...
- Loadrunner11之禁用/启用Action
Loadrunner11之禁用/启用Action 大家在用Loadrunner11录制脚本的时候,会产生多个action,比如login, search, logout.在调试脚本的时候,我不想从 ...
- centos虚拟机启用网卡
CentOS虚拟机安装成功后,默认开机未启用网关,通过修改配置文件,启用网卡 编辑系统配置文件,虚拟机完成后,系统安装了一个默认的网卡,即eth0,其配置文件的路径为/etc/sysconfig/ne ...
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
ASP.NET Boilerplate 学习 1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...
随机推荐
- Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
在mac上面安装mysql之后,输入mysql一直报错,可以通过下面的方法解决. mysqld stop mysql.server start http://stackoverflow.com/q ...
- js 有关字符串的函数 以及一些和字符串有关的知识
JS自带函数 concat 将两个或多个字符的文本组合起来,返回一个新的字符串. var a = "hello"; var b = ",world"; var ...
- 创建透明CEdit控件
1.在资源编辑器中将Edit控件的Border设为none(当然也可以在代码中修改窗口样式) 2.在重载CEdit的类中响应MSG_OCM_CTLCOLOREDIT消息,在处理函数中将背景模式设为透明 ...
- IntelliJ IDEA 13.1.4新建java web项目
打开软件
- redis高级实用特性(1)
1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性:设置客户端连接后进行任何其他指定前需要使用的密码 警告:因为redis速度相当快,所以在一台比较好 ...
- 菲菲更名宝贝 得意非凡版 v1.9 免费绿色版
软件名称: 菲菲更名宝贝 得意非凡版软件语言: 简体中文授权方式: 免费软件运行环境: Win8 / Win7 / Vista / WinXP软件大小: 12.5MB图片预览: 软件简介:菲菲更名宝贝 ...
- JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍(转载)
这里是JavaScript中制作滚动代码的常用属性 页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见 ...
- Round Numbers(组合数学)
Round Numbers Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Tota ...
- 自定义函数动态执行SQL语句
Oracle 动态SQL有两种写法:用 DBMS_SQL 或 execute immediate,建议使用后者. DDL 和 DML Sql代码 收藏代码 /*** DDL ***/ begin EX ...
- MyBatis 多表联合查询,字段重复的解决方法
MyBatis 多表联合查询,两张表中字段重复时,在配置文件中,sql语句联合查询时使用字段别名,resultMap中对应的column属性使用相应的别名: <resultMap type=&q ...