|
tangz
新手上路
积分 8
发帖 2
注册 2006-5-29
状态 离线
|
『楼 主』:
自己开发一个设置DHCP地址保留和IP地址与MAC的绑定的脚本
IP.BAT在WINDOWS2003下测试通过,内容如下:
Quote: | REM 自动绑定MAC地址和设置DHCP保留的脚本(by tangz)
@ECHO ON
SETLOCAL EnableDelayedExpansion
SET IPTXTPATH=C:\DHCPWEB\IP.TXT
REM IPTXTPATH为IP.TXT文件存放的路径。
REM 如果IP.TXT文件不存在,直接退出。否则读取IP.txt文件生成时间和SET.ini里UpdateDateTime的时间。
IF NOT EXIST %IPTXTPATH% (GOTO END) ELSE (
FOR %%h IN (%IPTXTPATH%) DO (SET IPTXTDATE=%%~th)
FOR /F "tokens=1,2 delims==" %%f IN (SET.ini) DO (SET UpdateDateTime=%%g)
)
REM 判断IP.txt文件有没有修改,如果没有修改直接跳到:IPMAC,否则更新UpdateDateTime为IP.txt文件的修改时间。
IF "%UpdateDateTime%"=="%IPTXTDATE%" (GOTO IPMAC) ELSE (ECHO UpdateDateTime=%IPTXTDATE%>SET.ini)
REM 判断MAC.BAT文件是否存在
IF EXIST MAC.BAT DEL MAC.BAT
REM 判断NETSH.TXT文件是否存在
IF EXIST NETSH.TXT DEL NETSH.TXT
REM 生成NETSH.TXT和MAC.BAT文件
ECHO DHCP >>NETSH.TXT
ECHO SERVER >>NETSH.TXT
FOR /F "tokens=1,2,3,4,5" %%i IN (%IPTXTPATH%) DO (
IF NOT "%%i"=="保留" (
IF NOT DEFINED %%m (
SET %%m=A & ECHO SCOPE %%m>>NETSH.TXT
IF EXIST REIP.TXT DEL REIP.TXT
NETSH DHCP SERVER SCOPE %%m SHOW RESERVEDIP >REIP.TXT
FOR /F "skip=7 tokens=1,2,3,4" %%a IN (REIP.TXT) DO (IF "%%d"=="" (IF NOT "%%c"=="" (SET var=%%c & ECHO DELETE RESERVEDIP %%a !var:-=!>>NETSH.TXT)))
)
SET var=%%k & ECHO ADD RESERVEDIP %%j !var:-=!reservedip %%i both>>NETSH.TXT
)
ECHO ARP -s %%j %%k -N %%l >>MAC.BAT
)
ECHO EXIT >>NETSH.TXT
:RESERVEDIP
ECHO 设置DHCP保留
CALL NETSH <NETSH.TXT
:IPMAC
ECHO IP和MAC绑定
CALL MAC
:END
ECHO 结束
ENDLOCAL |
|
自动绑定MAC地址和设置DHCP保留的脚本的使用方法:
建立一个VBS的脚本,在后台调用运行IP.BAT文件。
IP.VBS内容:
Quote: | set WshShell = CreateObject("WScript.Shell")
cmd=WshShell.RUN("ip.bat", runhide) |
|
将IP.VBS添加到计划任务里,每隔5分钟运行一次。
Quote: | schtasks /create /sc minute /mo 5 /tn AutoDHCP /tr "C:\DHCP\IP.VBS" /ru system |
|
注意:脚本运行时会自动生成MAC.BAT,REIP.TXT,NETSH.TXT,SET.ini四个文件。其中MAC.BAT是绑定MAC和IP的脚本,REIP.TXT是从系统DHCP服务里导出的保留IP列表,NETSH.TXT是设置DHCP保留的命令列表,SET.ini是存放IP.BAT文件修改时间的配置文件。
IP.TXT文件格式:
用户名称 IP地址 MAC地址 网关 DHCP域
举例:IP.TXT文件内容(DHCP服务器同时为192.168.0.X和192.168.1.X网段提供服务):
Quote: | 保留 192.168.0.10 ff-ff-ff-ff-ff-ff 192.168.0.1 192.168.0.0
张三(台式机) 192.168.0.11 00-16-36-30-b8-8e 192.168.0.1 192.168.0.0
保留 192.168.0.12 ff-ff-ff-ff-ff-ff 192.168.0.1 192.168.0.0
保留 192.168.0.13 ff-ff-ff-ff-ff-ff 192.168.0.1 192.168.0.0
保留 192.168.0.14 ff-ff-ff-ff-ff-ff 192.168.0.1 192.168.0.0
李四(笔记本) 192.168.0.15 00-0a-e4-24-77-13 192.168.0.1 192.168.0.0
保留 192.168.1.10 ff-ff-ff-ff-ff-ff 192.168.1.1 192.168.1.0
王五(台式机) 192.168.1.11 00-16-36-30-b8-8e 192.168.1.1 192.168.1.0
保留 192.168.1.12 ff-ff-ff-ff-ff-ff 192.168.1.1 192.168.1.0
保留 192.168.1.13 ff-ff-ff-ff-ff-ff 192.168.1.1 192.168.1.0
保留 192.168.1.14 ff-ff-ff-ff-ff-ff 192.168.1.1 192.168.1.0
李四(笔记本) 192.168.1.15 00-0a-e4-24-77-13 192.168.1.1 192.168.1.0 |
|
我的BLOG:tangz.tiptoperp.com 欢迎大家与我交流
[ Last edited by tangz on 2006-12-13 at 12:01 PM ]
|
|
2006-12-13 11:55 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
2 楼』:
真复杂,欣赏~~
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-12-13 12:15 |
|
|
echo
初级用户
积分 148
发帖 69
注册 2006-11-23
状态 离线
|
『第
3 楼』:
顶一个,对网管来说,有的时候还是用得着的
|
|
2006-12-13 22:40 |
|
|