分享

利用netsh编写网卡动态配置的脚本

 imzjw 2008-03-10
当年华为和思科闹的沸沸扬扬的官司里,有一项是起诉华为的CLI和思科的雷同。其实,CLI这东西,不仅仅是华为这么干,其他的CLI大抵类似,这不,windowsXP2000都有个netsh.exe程序,就是微软版本的网络配置CLI
    正好有个朋友问我,能不能写个程序切换网卡配置?要求能够在两种配置下切换:一是动态获取网址,二是静态配置。我一想,netsh不正好干这事情吗?打开netsh,好多年没有摆弄过路由器了,netsh的风格还是不由得让我想起了不少往事。
   干这件事其实很简单。我的机器是DHCP分配地址的,先看看配置是什么,直接键入:
interface ip
dump
去掉注释,得到下面配置:
pushd interface ip
reset name="本地连接#这行是我加的

set address name="本地连接" source=dhcp
set dns name="本地连接" source=dhcp register=PRIMARY
set wins name="本地连接" source=static addr=192.168.100.10
add wins name="本地连接" addr=192.168.100.11 index=2

popd

存到dhcp.cfg文件里,再写一个dhcp.bat,里面只有一句话:netsh exec dhcp.cfg

再通过控制面板,去静态配置IP,重复前面的动作,又得到一份配置:
pushd interface ip

reset name="本地连接#这行是我加的

set address name="本地连接" source=static addr=192.168.66.149 mask=255.255.255.0
set address name="本地连接" gateway=192.168.66.1 gwmetric=0
set dns name="本地连接" source=static addr=192.168.100.10 register=PRIMARY
add dns name="本地连接" addr=192.168.100.11 index=2
set wins name="本地连接" source=static addr=192.168.100.10
add wins name="本地连接" addr=192.168.100.11 index=2

popd
同样,建一个static.bat文件,里面也只有一句话:netsh exec static.cfg
现在,要切换配置的话,只要双击相应的bat文件就是了。如果有多份配置,做法雷同。
    netsh是强大的,全功能的工具。如果你想把机器变成一台路由器也可以通过它来完成,对于那些熟悉路由器的人来说,这简直是小菜一碟。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多