功能:可以在IIS意外终止时自动重启IIS,无须登陆系统,无人职守
条件:
1.服务器安装过Windows Script 5.6,可以正常运行.vbs脚本。
2.确保系统服务Windows Management Instrumentation 正常启动。
将以下代码复制为 fu.vbs,放至系统盘WINNT/System32/下,注意重命名时要和“cscript //h:cscript&&cscript fu.vbs” 中的fu.vbs保持一至,否则计划任务启动时报找不到文件的错误。
然后做计划任务,让其在系统启动时运行监控
vbs代码:
strFullName = WScript.FullName
strWshHost = Right(strFullName, 11)
'WScript.Echo "Default script host: " & strWshHost
If strWshHost = "WScript.exe" Then
 Set objShell = CreateObject("WScript.Shell")
 objShell.Run _
 "%comspec% /k ""cscript //h:cscript&&cscript fu.vbs""", _
 MAXIMIZE_WINDOW
 If Err.Number <> 0 Then
 WScript.Echo "Error 0x" & hex(Err.Number) & " occurred. " & _
 Err.Description & ". " & VbCrLf & _
 "Could not temporarily change the default script host to Cscript."
 Err.Clear
 WScript.Quit
 End If
 WScript.Quit
End If
'----上面这段代码是强制到cscript命令行,一般要在cmd命令行下输入cscript *.vbs,如果直接执行vbs会用wscript打开,这样只会弹个对话框,我不喜欢,有不想每次都cscript,所以要写点额外的代码,双击后会调用一个wscript执行csript,然后再消灭自己,幸好微软的网站上提供了这个代码------------------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel= impersonate, (Security)}!\\" & strComputer & "\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
 ("Select * from __instancecreationevent where TargetInstance isa'Win32_NTLogEvent' and TargetInstance.EventCode = '7031' ")
Wscript.Echo "开始监视iis于 "&now
Do
 Set objLatestEvent = colMonitoredEvents.NextEvent
 Wscript.Echo "重新启动iis "&now
Set objShell = CreateObject("WScript.Shell")
objShell.Run "%COMSPEC% /c IISRESET.EXE",,1
'------核心程序
whichfile=("iisresetlog.htm")
set fso=createobject("Scripting.FileSystemObject")
if Not fso.FileExists(whichfile) then
iomode=2 : create=true
'Set MyFile = fso.CreateTextFile(whichfile,True)
else
iomode=8 : create=false
'Set MyFile = fso.CreateTextFile(whichfile)
end if
set MyFile = fso.OpenTextFile(whichfile,iomode,create)
'MyFile.writeLine("事件发生于 "&now&" 重启iis成功"&vbctrf)
if create=true then
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
MyFile.WriteLine ""
end if
MyFile.WriteLine " iis重启时间: <font color=red>" &now& "</font>"
'MyFile.WriteLine " 是否成功: 是 <>"
MyFile.WriteLine "<br>"
MyFile.WriteLine " "
MyFile.Close
set fso=nothing
Loop
'-----用fso记录iis 重启日志。
注意:
TargetInstance.EventCode = '7031' 这段代码控制了在什么情况下重启IIS,7031是系统的事件 ID代号,即当系统日志出现7031这样的事件时重启IIS。
下面是系统7031事件描述:IIS Admin Service 服务意外地终止,这种情况已经出现了 1 次。以下的修正操作将在 1 毫秒内运行: 运行配置的故障恢复程序。
同样的道理,可以根据不同的事件ID触发此脚本,修改objShell.Run "%COMSPEC% /c IISRESET.EXE",,1 这一行代码,可以执行任何win32所支持的程序,即可以根据任意事件触发执行任意的程序,那样用途更广了。
另:
%comspec%打开一个命令行窗口。%comspec% 是一个指向当前命令行外壳的环境变量。通过使用 %comspec%,您不必担心命令行外壳是 cmd.exe 还是 command.exe;%comspec% 会自动选择正确的一个。
/k 在调用 Dir 命令后,确保窗口始终保持打开。这就是 /k 参数的用处。如果我们想要确保命令窗口会在 Dir 命令调用完成后被自动关闭,应该将 /k (keep) 修改为 /c (close)。

转载于:https://blog.51cto.com/yyq90058/11797

IIS监控--自动重启脚本工具相关推荐

  1. 如何实现青龙监控自动执行脚本

    经常薅羊毛的对青龙都不陌生,无论是撸豆,还是签到,做各种任务,都可以解放双手,7*24h帮你站岗. 欢迎加入讨论群:https://t.me/+h4hHvHNpD3E1NDZl 当然如果你觉得这个太麻 ...

  2. 1 在 Linux 下开机自动重启脚本(亲测)

    /etc/rc.local 开机启动程序,把需要开机自动运行的程序写在这个脚本里 /etc/init.d 这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本. 要重新启 ...

  3. 我的世界服务器java启动脚本_我的世界定时关闭服务器 自动重启脚本

    我的世界定时关闭服务器 自动重启脚本.其实定时关闭服务器脚本还是有好处的,因为我们不可能永远都待在服务器的旁边,出问题的时候我们不可能第一时间去重启服务器查找问题的,所以老手腐竹们就需要一个定期重启的 ...

  4. 我的世界自动开关服务器,我的世界自动重启脚本方法_我的世界如何让服务器自动重启_游戏堡...

    我的世界如何让服务器自动重启:<我的世界>游戏中怎么样才能让服务器自动重启?下面游戏堡小编给大家介绍的是我的世界自动重启脚本方法,小伙伴们一起来看看吧. 首先,你要有一个对应你服务器核心的 ...

  5. tomcat自动重启脚本

    tomcat自动重启的linux 脚本 #!/bin/bashtomcat_is_alive=`ps -ef| grep "java" | grep "/home/apa ...

  6. linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  7. python 苹果手机自动重启_Linux下编写一个Python自动重启脚本

    团队中有一大部分的监控任务都是自己来做的,这其中包括了很多脚本,主要是Python脚本.但是有时由于不可预料的原因,Python会异常终止,因此编写一个自动检测Python脚本是否异常终止的脚本,当异 ...

  8. Memcached进程挂掉自动重启脚本

    由于一台WEB服务器的Memcached死掉而导致在访问网站的某些页面时候打不开,下面脚本会自动检测Memcached的进程,如果挂掉则自动重启Memcached服务. cat /root/sh/me ...

  9. linux超过cpu负载重启脚本,linux下Web服务器CPU负载超过阀值自动重启脚本

    说明: 操作系统:CentOS web服务器:apache 问题: 搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时.页面无法打开. 解决办法: 定时监控服务器负载,超过一 ...

最新文章

  1. 对话框窗口最大最小化
  2. 隐私全无!错发1700多条Alexa录音,上报后亚马逊淡定回应是“个人错误”
  3. 网页加速系列(五)、 网页加速之进阶上篇
  4. [SimplePlayer] 4. 从视频文件中提取音频
  5. 数据结构:选择排序(Selection sort)
  6. Java编程基础-变量
  7. 百万级微信服务号如何做活动运营和用户运营?
  8. 限量席位!网易 MCtalk 泛娱乐社交产品专场沙龙报名倒计时
  9. 互联网为什么要版权,我支持资源共享。
  10. Kotlin 循环控制(七)
  11. 多数据点拟合曲线,最小二乘法,矩阵
  12. (day 37 - 动态规划)剑指 Offer 46. 把数字翻译成字符串
  13. 【源码】基于MPPT的光伏(PV)系统仿真
  14. Esp8266+ssd1306液晶屏+microPython
  15. 大数据杀熟行为10月1日起明令禁止!
  16. 《人是如何学习的》的读后感范文4000字
  17. 内存设置无效: 内存预留 (sched.mem.min) 应该等于内存大小 (65536)
  18. python 控制手机摄像头_用Python获取摄像头并实时控制人脸 !
  19. 一篇文章教你整合ssm配置,可以收藏。
  20. Doevents函数详解

热门文章

  1. 利用反射光电管 ITR9909 制作节能信标光电感应开关
  2. 智能车竞赛云上比赛第二天
  3. MathType的公式Latex到Katex转换程序
  4. jwttoken解码_使用 JSON WEB TOKEN (jwt) 验证
  5. python 倒计时功能怎么用print实现_python 实现倒计时功能(gui界面)
  6. ipython notebook_50个关于IPython的使用技巧,get起来!
  7. thankpad p15改善大风扇的转动
  8. access9磅字体是多_第一套考试题
  9. c语言测序,一次Hi-C建库测序,两种分析,你不心动?
  10. 循环出按钮点击按钮显示按钮上面文字 vue el-button_前端学习计划之VUE学习(一)...