批量设置IP地址和计算机名
最近由于病毒肆虐,学校的公共机房又瘫痪了,只好利用网络同传把机器全都克隆了一遍,可问题又来啦,每个计算机都要重新设置IP地址、子网掩码、网关和DNS服务器,另外还要修改计算机名,一共有200多台呢,一个一个改得多长时间呀,赶紧上网充充电,在最短的时间内(一上午)做了一个批处理文件,虽然不是全自动步枪,但也比从前省事多了。此法在XPSP3下实验通过,效果不错。
一、先来认识一下本文中用到的几个批处理命令
1、echo:显示命令。在echo后输入的文本可以在全部黑屏上显示出来,作为对用户的友好提示。echo off将关闭显示功能,echo on当然就是打开显示了。
2、set:定义变量命令。可以将数值或字符串定义为变量方便以后的阅读和使用。
3、netsh interface ip set:用来修改IP地址、子网掩码、网关和DNS服务器的命令。
4、reg add:用来修改注册表的命令。
二、批处理文件功能分析
第一部分:配置网络连接(配置ip地址、子网掩码、网关和DNS服务器(四个),先定义各个变量,假设这200台计算机都在192.168.0.网段内, IP地址的第四位需要用户手动输入,相邻的计算机当然要顺序编号的。其他变量看看名称就知道是干什么的,不再赘述。
在netsh命令中使用的"%interface%"是一个系统的内部变量,代表的是“本地连接”之类的网络连接名称,可以提高批处理文件的通用性。
小提示:注意命令之间的空格,可以输入多个但绝不能没有。
小提示:ip地址、子网掩码、网关和DNS服务器请根据自己的情况另行设定,除非你也是我们学校的,嘻嘻!
第二部分:修改用户名(直接修改注册表中的相关键值,最雷人的是无需重启计算机),通过修改注册表中两处的三个键值来实现。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]主键下的:ComputerName,
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]主键下的:NV Hostname 和 Hostname。
小提示:计算机名以pc+IP地址的第四位构成,所以只要IP地址不重复,计算机名就是唯一的。如果喜欢其他的前缀,可以自行更改。
小提示:exit的作用是回到XP界面,del %0的功能是删除批处理文件自身,以防学生们复制此文件做非法用途。
附:批处理文件全文如下:
echo 半自动配置网络连接和计算机名
::第一部分
echo 1、配置网络连接(配置ip地址、子网掩码、网关和DNS服务器,时间稍长)
echo off
::定义变量
set ip4=1
set ip3=192.168.0.
set/p ip4=请输入IP地址的第四位(在10-255之间):
set ip=%ip3%%ip4%
set mask=255.255.255.0
set gateway=192.168.0.6
set primarydns=202.102.128.68
set seconddns=202.103.225.68
set thirddns=221.7.128.68
set fourthdns=221.7.136.68
::配置ip地址,子网掩码,网关,dns服务器
echo 开始更改本机IP、子网掩码、网关和dns......
netsh interface ip set address "%interface%" static %ip% %mask% %gateway% 1
netsh interface ip set dns "%interface%" static %primarydns% primary
netsh interface ip add dns "%interface%" %seconddns% index=2
netsh interface ip add dns "%interface%" %thirddns% index=3
netsh interface ip add dns "%interface%" %fourthdns% index=4
::第二部分
echo 2、修改用户名(直接修改注册表中的相关键值,无需重启)
set nameq=pc
set name=%nameq%%ip4%
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v %name% /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v %name% /t reg_sz /d %name% /f
::善后处理
exit
del %0