代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
VBS
】
自动重启脚本工具
作者:
dezai
/ 发布于
2014/5/21
/
1616
自动重启脚本工具
功能:可以在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 "" 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)。
试试其它关键字
自动重启
同语言下
.
使用脚本将域账号添加到客户机的本地管理员组
.
删除服务器上文件
.
主动ping服务器是否宕机
.
自动 服务器检查 的vbs脚本
.
VBS脚本发送邮件,密送多人,带附件,可更换账号密码
.
根据文件路径复制文件
.
VBA操作数据库
.
双击获取公网IP到剪贴板
.
定时运行ie浏览执行网址不显示浏览器窗口
.
批处理生成日历
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
dezai
贡献的其它代码
(
1065
)
.
双色球
.
列出所有物理网络适配器
.
快乐数的 Python 实现
.
计算当月还剩天数
.
猜属相
.
二十四小时时钟
.
每日一语
.
很酷的日历
.
超长日历表单
.
最简单的时钟
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3