因为手机和移动设备太多,DHCP池不够用,想通过EventID的方法在Win 2003 Server来自动发送邮件通知还有多少可用IP地址。

    所需工具都放在c:\temp目录

     bmail.exe (用于发送邮件或其它可以发送邮件的程序)

    psloglist.exe (sysinternals里面的一个小工具,用于根据EventID读取系统日志详细信息)

 eventtriggers (Win 2003自己命令,用于创建一个Trigger,但有指定EventID出现时,会执行一个任务)


1.我们首先使用eventtriggers来创建一个触发并执行任务。

eventtriggers /create /tr EventID1020 /eid 1020 /tk c:\temp\EventIDTrigger.bat

wKiom1Ri0U6A268wAAB6cUAyk0M862.jpg

2. 编写EventIDTrigger.bat代码。

@echo off
cd c:\temp
psloglist -i 1020 -n 1 > _psloglist.tmp
type _psloglist.tmp

setlocal enabledelayedexpansion

for /f "tokens=* Delims="  %%a in ('type _psloglist.tmp') do set b=!b!%%a 

bmail.exe -s smtpserver -t recipient@XX.com -f Sender@xx.com -a "DHCP Pool is low" -b "%b%"

3. 因为系统会每小时生成一个DHCP Event提示,所以如果不及时删除地址,就会每小时收到一份邮件。wKioL1Ri0zLTTdeVAADQB_M_-Co765.jpg