Ingu 发表于 2008-3-18 20:02

【原创】批处理实现网络克隆后自动设置计算机名称和IP地址

声明:本文为作者Ingu原创并在专门网首发,您可以随意使用、修改。

一句话(摘要):使用批处理命令实现了网络克隆后自动设置计算机名称和网络地址等内容的功能。

适用范围:学校、网吧等需要网络克隆后设置计算机名称和网络地址的场所。客户机类型为Windows 2000

、Windows XP、Windows Server 2003系统。

准备工作:收集所有计算机的MAC地址。按照每台计算机信息占一行,每行的计算机名称、MAC地址和IP地

址之间使用Tab隔开的格式保存到PCMACIP.txt文件中。如

A01      00-16-96-0F-E2-41      10.1.68.1
A02      00-16-96-0F-DF-7F      10.1.68.2
A03      00-16-96-0E-D6-94      10.1.68.3
A04      00-16-96-10-22-8E      10.1.68.4
A05      00-16-96-0F-65-95      10.1.68.5
A06      00-16-96-0F-6C-27      10.1.68.6

安装方法:
      直接将文件解压到C:\UPDATE文件夹下,导入install.reg注册表文件。

使用方法:
      1.制作样机,按照安装方法说明设置;
      2.使用Ghost或其他工具进行网络克隆;
      3.克隆后,交换机断电,重启客户机;
      4.进入桌面等待大约1分钟后计算机名称、IP地址设置完毕。交换机通电。

原理说明:
      1.使用reg文件将批处理命令设为开机运行;
      2.批处理文件判断本机MAC地址,并查找PCMACIP.txt中信息,获得对应计算机名称、IP地址;
      3.将以上信息追加到config.reg注册表文件中,清除开机运行批处理命令,并导入;
      4.删除设置过程中的文件。

特色说明:
      1.虽然可以架设DHCP服务器,但其不能更改计算机名称;
      2.在config.reg中可以事前添加好其他功能,如代理服务器等信息,在设置时可一并导入。
      3.使用批处理命令修改,安全可靠,并且不留痕迹。

小麻烦:
      1.直接双击导入install.reg文件无效,现解决办法,进入regedit,在run键下手工添加此(于2008-04-13解决)

条信息。
      2.MAC地址统计的问题,可以使用Iris等软件,我自己使用的是联想的慧顿套件。

后记:来到专门网快四年了,索取了很多,但奉献太少。希望自己花时间写的东西有人能用得上:)

[ Edited byIngu on 2008-4-15 13:21 ]

fangqiank 发表于 2008-3-18 20:03

支持原创

acttt 发表于 2008-3-18 22:32

不错,收藏先,抽空试试:D

Ingu 发表于 2008-3-19 18:33

在霏凡论坛上的回复

config.bat 文件

@echo on
cls
@set config=C:\UPDATE\PCMACIP.txt
@set regfile=C:\UPDATE\config.reg
@set macfile=C:\UPDATE\mac.txt
::设置配置文件路径
@ipconfig/all | find "Physical Address" > %macfile%
@for /f "tokens=12" %%M in (%macfile%) do @set strMac=%%M
@echo MAC:%strMac%
::确定MAC地址

@for /f "skip=2 tokens=1" %%N in ('find "%strMac%" %config%') do @set ComputerName=%%N
@echo PC:%ComputerName%
::确定计算机名称
@for /f "skip=2 tokens=3" %%I in ('find "%strMac%" %config%') do @set IPAddress=%%I
@echo IP:%IPAddress%
::确定IP地址

@echo >> %regfile%
@echo "ComputerName"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "ComputerName"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "NV Hostname"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "NV Hostname"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "ComputerName"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "NV Hostname"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "ComputerName"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "ComputerName"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "NV Hostname"="%ComputerName%" >> %regfile%
@echo >> %regfile%
@echo "NV Hostname"="%ComputerName%" >> %regfile%
::追加计算机名称信息到注册表文件

@echo >> %regfile%
@echo "SetIP"=- >> %regfile%
::追加取消开机启动选项,达到只运行一次的目的
@regedit /s %regfile%
::应用注册表文件

@netsh interface ip set address name="本地连接" source=static addr=%IPAddress% mask=255.255.255.0 gateway=10.1.68.254 gwmetric=1
@netsh interface ip add dns "本地连接" addr=202.96.64.68
::修改IP地址、子网掩码、网关和DNS设置
@del %macfile%
@del %regfile%
@del %config%
@del C:\UPDATE\config.bat
::删除过程文件


config.reg
预设的注册表信息,如这里设置的是代理服务器的信息。

Windows Registry Editor Version 5.00


"ProxyEnable"=dword:00000001
"ProxyServer"="gopher=10.1.96.12:8080;http=10.1.96.12:8080;https=10.1.96.12:8080;socks=10.1.96.12:1080"
"ProxyOverride"="10.1.*;<local>"


"DefaultConnectionSettings"=hex:3c,00,00,00,0b,00,00,00,03,00,00,00,57,00,00,\
00,67,6f,70,68,65,72,3d,31,30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,68,\
74,74,70,3d,31,30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,68,74,74,70,73,\
3d,31,30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,73,6f,63,6b,73,3d,31,30,\
2e,31,2e,39,36,2e,31,32,3a,31,30,38,30,0e,00,00,00,31,30,2e,31,2e,2a,3b,3c,\
6c,6f,63,61,6c,3e,00,00,00,00,00,00,00,00,00,00,00,00,80,03,97,99,3c,ff,c7,\
01,01,00,00,00,0a,01,62,50,00,00,00,00,00,00,00,00
"SavedLegacySettings"=hex:3c,00,00,00,f6,00,00,00,03,00,00,00,57,00,00,00,67,\
6f,70,68,65,72,3d,31,30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,68,74,74,\
70,3d,31,30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,68,74,74,70,73,3d,31,\
30,2e,31,2e,39,36,2e,31,32,3a,38,30,38,30,3b,73,6f,63,6b,73,3d,31,30,2e,31,\
2e,39,36,2e,31,32,3a,31,30,38,30,0e,00,00,00,31,30,2e,31,2e,2a,3b,3c,6c,6f,\
63,61,6c,3e,00,00,00,00,00,00,00,00,00,00,00,00,80,03,97,99,3c,ff,c7,01,01,\
00,00,00,0a,01,62,50,00,00,00,00,00,00,00,00

xjynbz 发表于 2008-4-13 13:33

看不懂


"ProxyEnable"=dword:00000001
"ProxyServer"="gopher=10.1.96.12:8080;http=10.1.96.12:8080;https=10.1.96.12:8080;socks=10.1.96.12:1080"
"ProxyOverride"="10.1.*;<local>"

这些设置有什么作用,如何根据自己的情况进行敲定。

xjynbz 发表于 2008-4-13 13:36

sygate代理服务如何设置

我用的是sygate代理服务器上网,服务器地址:192.168.4.1,在config.reg中如何设置?

小松鼠 发表于 2008-4-13 15:47

准备工作:收集所有计算机的MAC地址。按照每台计算机信息占一行,每行的计算机名称、MAC地址和IP地

址之间使用Tab隔开的格式保存到PCMACIP.txt文件中。
------------------------------------------------------------------------
好事做到底,请附上收集"计算机名称、MAC地址和IP地

址"的相关工具。

river_s 发表于 2008-4-14 12:07

回复 #7 小松鼠 的帖子

如果是一大批全新的计算机,可能得从机器上直接抄MAC地址,计算机名称自己可以定吧

Ingu 发表于 2008-4-15 13:00


"ProxyEnable"=dword:00000001       //设置代理服务器有效
"ProxyServer"="gopher=10.1.96.12:8080;http=10.1.96.12:8080;https=10.1.96.12:8080;socks=10.1.96.12:1080"   //分别设置不同代理类型的代理服务器地址及端口号
"ProxyOverride"="10.1.*;<local>"   //代理服务器的例外设置

以上内容在”Internet选项“的”连接“标签中”局域网设置“菜单中。

Ingu 发表于 2008-4-15 13:05

回复 #6 xjynbz 的帖子

在config.reg 文件中添加

"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.4.1:端口号"   //其中"端口号"需要根据实际情况填写
"ProxyOverride"="<local>"

Ingu 发表于 2008-4-15 13:13

回复 #7 小松鼠 的帖子

我单位用的是联想的慧顿系统,开机后服务端可以直接扫到每台机器的MAC地址的。

也可以用Sniffer扫一下,但是要注意开机的顺序,开一台扫一台,否则容易把号码弄乱。

一般机房的机器网卡都是同一批的,所以12位中只需要记4到6位就足够了,前面都是一样的。

抄MAC地址是这种方法中最辛苦的活了,但是只要抄过了一遍,以后就幸福了。

Ingu 发表于 2008-4-15 13:13

回复 #8 river_s 的帖子

谢谢斑竹鼓励!

sgw888 发表于 2008-4-15 17:13

觉得这其中最关键的一环是搜集MAC地址,否则一切都没有任何意义。一般来说,网吧或者其他场合成批摆放的机子IP都要求是按位置顺序排列的,所以顺序获取MAC地址就成了其中最关键的部分。

focus 发表于 2008-4-15 18:12

支持原创。

japurara0518 发表于 2008-4-15 20:58

没有必要这样做,企业版本的Ghost可以记住计算机名和Ip地址

mcford 发表于 2008-4-16 11:25

非常暗谢楼主的辛勤工作
页: [1]
查看完整版本: 【原创】批处理实现网络克隆后自动设置计算机名称和IP地址