MCSE技术论坛

首页 » 开发者俱乐部 » windows脚本 » 求一个从文本文件读取ip和mac对应关系并进行arp绑定的脚本
李妙言 - 2007-12-26 15:10:00
想在服务器(Windows 2003 server)上对mac和ip地址进行绑定,考虑把ip和mac地址存放在一文本文件ip-mac.txt中,文件格式如下:
IP地址    mac地址                        用户
10.1.1.1 bb-bb-bb-bb-bb-bb      user1
10.1.1.2 aa-aa-aa-aa-aa-aa      user2
……

用脚本读取ip和mac,并通过arp -s命令进行绑定。由于本人不懂脚本,请大家帮忙,谢谢!
air123 - 2007-12-26 16:44:00
我在赚积分
Steven - 2007-12-26 23:30:00


'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.1
'
' NAME:
'
' AUTHOR: Steven , Steven
' DATE  : 27/12/2007
'
' COMMENT:
'
'==========================================================================

Set Ofso = CreateObject("Scripting.FileSystemObject")
Set Ots = Ofso.OpenTextFile("c:\\IP&MAC.txt")
Do Until Ots.AtEndOfLine
Stemp = Ots.ReadLine
WScript.Echo Stemp
Set Oshell=CreateObject("WScript.Shell")
Oshell.Run "arp -s " & Stemp
Loop




引用:
原帖由 李妙言 于 2007-12-26 15:10:00 发表
想在服务器(Windows 2003 server)上对mac和ip地址进行绑定,考虑把ip和mac地址存放在一文本文件ip-mac.txt中,文件格式如下:
IP地址    mac地址                        用户
10.1.1.1 bb-bb-bb-bb-bb-bb      user1
10.1.1.2 aa-aa-aa-aa-aa-aa      user2


C盘建立一个IP&MAC.txt文件,然后每行按照10.1.1.1 bb-bb-bb-bb-bb-bb的格式来写,没有"ip地址"或者“用户"之类的标题, 中间ip和mac之间用空格隔离,一行一行的写.
李妙言 - 2007-12-27 10:03:00
谢谢楼上的解答,我试试
李妙言 - 2007-12-27 11:27:00
试验一下Steven斑竹帮忙写的脚本,可以达到目的,但存在一个小问题,就是脚本运行时候要弹出对话框和dos窗口,每执行一条arp命令就弹出一次,需要一次一次点击确定,这样很不方便。
因为我是在win2003+isa 2004上运行,需要绑定的IP非常多,希望能让脚本在后台运行,而不需要人工干预并且不弹出前台窗口。

希望斑竹能把代码再改进一下,不胜感激!
Steven - 2007-12-27 14:47:00
哈哈,不好意思,我之前加了一句做测试用的调试语句,我现在把他给删了就好了。

Set Ofso = CreateObject("Scripting.FileSystemObject")
Set Ots = Ofso.OpenTextFile("c:\\IP&MAC.txt")
Do Until Ots.AtEndOfLine
Stemp = Ots.ReadLine
Set Oshell=CreateObject("WScript.Shell")
Oshell.Run "arp -s " & Stemp
Loop


李妙言 - 2007-12-27 15:12:00
搞定了,太好了,谢谢斑竹!:default69:
qqevoli - 2007-12-27 20:39:00
赚到了!
李妙言 - 2007-12-28 11:10:00


引用:
原帖由 Steven 于 2007-12-27 15:45:00 发表
说说你的要求吧,我改进一下.


因为我的IP列表比较多,我想在每一行最后加上该IP的使用人,文本文件格式为

10.0.0.1 AA-AA-AA-AA-AA-AA USER

USER表示使用该IP的人。这样方便以后修改和查询。谢谢
Steven - 2007-12-28 15:28:00


引用:
原帖由 李妙言 于 2007-12-28 11:10:00 发表


引用:
原帖由 Steven 于 2007-12-27 15:45:00 发表
说说你的要求吧,我改进一下.


因为我的IP列表比较多,我想在每一行最后加上该IP的使用人,文本文件格式为

10.0.0.1 AA-AA-AA-AA-AA-AA USER

USER表示使用该IP的人。这样方便以后修改和查询。谢谢


Set Ofso = CreateObject("Scripting.FileSystemObject")
Set Ots = Ofso.OpenTextFile("c:\\IP&MAC.txt")
Do Until Ots.AtEndOfLine
Stemp = Ots.ReadLine
Set Oshell=CreateObject("WScript.Shell")
Svar = Mid(Stemp, 1 , 32)
Oshell.Run "arp -s " & Svar
Loop


你现在可以把c盘的ip&mac文本文件加上用户注释了比如:
10.1.1.1 bb-bb-bb-bb-bb-bb                user1

注意在mac地址后面加上用户名前要用空格,空10个空格以上,不要用tab.
李妙言 - 2007-12-29 7:55:00
终于搞定了,再次谢谢斑竹。
第一次来论坛就有这么大收获,以后要多来学习了
1
查看完整版本: 求一个从文本文件读取ip和mac对应关系并进行arp绑定的脚本