起因:由于局域网内使用的iNode客户端,mac和ip是绑定的,并且禁止使用伪mac,也禁止使用wifi。怎么办呢,外置USB网卡可以解决伪mac问题!
使用外置usb网卡上网,每次开机需要修改mac,有时还需要修改ip,才能上网,改过几次就觉得麻烦了,不能将就着了。
先看一下手动配置的整个过程:
开机→修改USB网卡mac(会重启网卡)→再将改为空(又会重启网卡)→配置ip→重连iNode→上网ok
其实整个过程都可以用批处理代替,省时省力省心。下面来一步步看:
1、修改mac
如何修改mac,就要先知道mac存在哪。当我们手动给网卡设置一个伪mac时,会在网卡所在的注册表中生成一项NetworkAddress,当再设置为空时,次项又被删除,那我们就可以通过批处理操作注册表了。
(1)如何找到网卡的注册表位置:
可以通过网卡名字进行搜索,可能会出现多个位置,我们要定位到的位置是 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class下的某一个路径,比如我的是:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0012 (后面的字符串和0012,每台电脑基本都不一样)
(2)批处理命令
echo 修改网卡Mac...
@set reg=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e971-e315-12ce-bfc1-08002be10518}\0012
@set MAC=60AB611A311F
@reg add "%reg%" /v NetworkAddress /t reg_SZ /d "%MAC%" /f
说明:echo 用来显示当前进行的操作,也就是给我们一个提示,现在正在干什么
@set 是设置的参数,可以通过%%使用,比如%reg%,因为后面的命令会多次用到这个路径,所以我们设置成参数,方便以后的修改
@reg表明是操作注册表的命令
2、重启网卡
改mac需要重启网卡,才能有效,而通过注册表改mac,不会重启网卡,所以还需要用命令重启网卡
@set INTERFACE=本地连接
echo 重启本机网卡...
netsh interface set interface "%INTERFACE%" disable
说明:netsh 用于网络配置的命令,interface表示网络连接那的名字(我的叫本地网络)
3、再将mac改成空
echo 设置Mac为空...
@reg delete ""%reg%"" /v NetworkAddress /f
说明:直接delelte,usb的网卡的一个好处,删除刚才设置的伪mac,它记录的还是刚才的mac
4、再重启网卡
echo 重启本机网卡...
netsh interface set interface "%INTERFACE%" disable
5、设置ip
@set IP=你的IP
@set MASK=子网掩码
@set GATEWAY=网关
@set DNS1=首选DNS
@set DNS2=备选DNS
echo 正在设置IP...
netsh interface ip set address "%INTERFACE%" static %IP% %MASK% %GATEWAY% 0
netsh interface ip set dns "%INTERFACE%" static %DNS1% PRIMARY
netsh interface ip add dns "%INTERFACE%" %DNS2% index=2
6、重启iNode
@set iNode=iNode Client.exe
@set iNodePro=C:\Program Files (x86)\iNode\iNode Client\iNode Client.exe
echo 重启iNode...
taskkill /f /im "%iNode%"
start "" "%iNodePro%"
说明:最后重启iNode客户端,不用手动重连了。
7、最后将批处理放入开机启动项,从开机到连上网整个过程不用手动操作了。
最后再看下完整代码吧:
@echo off
echo 参数
@set INTERFACE=本地连接
@set MAC=60AB611A311F
@set IP=你的IP
@set MASK=子网掩码
@set GATEWAY=网关
@set DNS1=首选DNS
@set DNS2=备选DNS
@set reg=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0012
@set iNode=iNode Client.exe
@set iNodePro=C:\Program Files (x86)\iNode\iNode Client\iNode Client.exe
echo 启动本机网卡...
netsh interface set interface "%INTERFACE%" enable
echo 修改网卡Mac...
@reg add "%reg%" /v NetworkAddress /t reg_SZ /d "%MAC%" /f
@reg add "%reg%\Ndi\params\NetworkAddress" /v default /t reg_SZ /d "%MAC%" /f
echo 重启本机网卡...
netsh interface set interface "%INTERFACE%" disable
netsh interface set interface "%INTERFACE%" enable
echo 设置Mac为空...
@reg delete ""%reg%"" /v NetworkAddress /f
echo 正在设置IP...
netsh interface ip set address "%INTERFACE%" static %IP% %MASK% %GATEWAY% 0
netsh interface ip set dns "%INTERFACE%" static %DNS1% PRIMARY
netsh interface ip add dns "%INTERFACE%" %DNS2% index=2
echo 重启本机网卡...
netsh interface set interface "%INTERFACE%" disable
netsh interface set interface "%INTERFACE%" enable
echo 重启iNode...
taskkill /f /im "%iNode%"
start "" "%iNodePro%"
@echo 设置完毕,自动退出!
exit
话说没有图形界面的时候,DOS时代不都是一条条这样的命令来完成工作的!