当前位置: 主页 > 网络知识 > CISCO技术 > 利用vbs脚本实现静态路由备份策略

利用vbs脚本实现静态路由备份策略

时间:2009-10-14来源:互联网 点击:
 
 
Monitor.vbs 每15分钟运行一次
Set FileSys   =   CreateObject("Scripting.FileSystemObject")
Set WShShell   =  CreateObject("WScript.Shell")   
RetCode   =   WShShell.Run("ping " &"218.25.158.1" , 0, True )  ‘ping外网网关
if   RetCode   <>   0   Then  ‘ ping 测试未通过
RetCode   =   WShShell.Run("ping " &"192.168.2.1" , 0, True )  ‘ping路由器内网ip
if RetCode   <>   0   Then  ‘如果还ping不通
RetCode   =   WShShell.Run("sendmail2.vbs") ‘网络内部故障,发送相关邮件
else
RetCode   =   WShShell.Run("temp.bat")
RetCode   =   WShShell.Run("sendmail.vbs") ‘否则运行批处理并发送相关邮件
end if
else   ‘ping 外网网关通过,则每天形成一个日志文档,文档内容为每次脚本运行的时间
dim path,file,fso,ctf,str,strhtml,strnohtml
Set fso = CreateObject("Scripting.FileSystemObject")
Set CTF = FSO.OpenTextFile("network_"&date()&".txt",8,true,0)
ctf.writeline(now())
ctf.close
end if
 
 
temp.bat
        @ECHO   OFF  
      ::   Create   SendKeys   script  
      ECHO.set   sh=WScript.CreateObject("WScript.Shell")>_TEMP.VBS  
      ECHO.WScript.Sleep   1000   >>_TEMP.VBS  
      ::   Send   “open”   for  Connect  and wait 1 second
      ECHO.sh.SendKeys   "%%open "   >>_TEMP.VBS  
      ECHO.WScript.Sleep   1000   >>_TEMP.VBS  
      ::   Send   R   for   sub-item   Remote   system  
      ::ECHO.sh.SendKeys   "R"   >>_TEMP.VBS  
      ECHO.WScript.Sleep   1000   >>_TEMP.VBS  
      ::   Send   Host   Name  
      ECHO.sh.SendKeys   "192.168.2.1"   >>_TEMP.VBS  
      ECHO.WScript.Sleep   1000   >>_TEMP.VBS  
      ::   Send   the key of “enter”   to   press   Connect   button  
      ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
     ECHO.sh.SendKeys   "the password of vty"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
  ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
     ECHO.sh.SendKeys   "enable"  >>_TEMP.VBS 
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS 
 ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
     ECHO.sh.SendKeys   "the password of enable"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
 ECHO.sh.SendKeys   "conf t"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
::   del the static nat
ECHO.sh.SendKeys   "no ip nat insi sour stat 192.168.2.3 218.25.158.28"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "no ip nat insi sour stat 192.168.2.4 218.25.158.29"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "int fa0/0"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "shut"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "exit"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS 
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "exit"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS 
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "exit"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS 
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
ECHO.WScript.Sleep   1000   >>_TEMP.VBS 
ECHO.sh.SendKeys   "quit"  >>_TEMP.VBS 
ECHO.sh.SendKeys   "{enter}"  >>_TEMP.VBS  
      ::   Open   a   Telnet   window   -   it   will   be   the   window   with   focus  
      start   /B   TELNET.EXE  
   
      ::   Run   the   script   to   send   keys   to   Telnet   window  
      cscript//nologo   _TEMP.VBS  
   
      ::   Clear   away   workfile  
del _temp.vbs
exit
 
 
sendmail.vbs
 
Set objMail = CreateObject("CDO.Message")
Set objConfig = CreateObject ("CDO.Configuration")
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.aaa.com"   ‘mail.aaa.com 为smtp服务器
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "networkerror@aaa.com"   ‘发送者账号
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******" ‘发送者密码
objConfig.Fields("http://schemas.microsoft.com/cdo/configuration/languagecode") = "0x0804"
objConfig.Fields.Update()
Set objMail.Configuration = objConfig
objMail.Subject = "network error"
objMail.From = chr(34) & "networkerror" & chr(34) & "networkerror@beiliang.com"
objMail.To = "networkerror@aaa.com"  ‘接受者邮箱
objMail.HTMLBody = "Now pinging 192.168.2.1 is ok,but pinging 218.25.158.1 is not ok!!!"
‘objMail.AddAttachment(http://xxxxxx/xxxx.xxx) ‘或者其他任何正确的url,包括http,ftp,file等等。
objMail.Send
 
sendmail2.vbs 参照sendmail.vbs 即可
站长资讯网
. TAG: 路由 VBS 静态 脚本

查看[利用vbs脚本实现静态路由备份策略 ]所有评论
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 网站留言