中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]网络神探运行状态查看工具
作者:
标题: [原创]网络神探运行状态查看工具 上一主题 | 下一主题
112183883
初级用户





积分 128
发帖 31
注册 2006-10-23
状态 离线
『楼 主』:  [原创]网络神探运行状态查看工具

献给网吧工作的朋友们,将以下代码保存为任意VBS文件,双击便可执行。 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '//ProgramName: 网络神探运行状态查看工具 '//Author: 十一狼 '//About: 在网吧工作的朋友都知道网络神探这个东东,用来作什么的我就不说了,郁闷的是它经常会出问题,所以每隔一段时间还得打开网页查看一下其运行状态是否正常,要不然,公安部可能就得CALL你了。 '//...... 由于每次都是重复的动作,我便想到要写一个小程序来代替人工查看,于是便有了这个东东,你可以在程序中定制查看几小时范围内的数据是否正常,我预设时间是两个小时,你也可以将它改成你认为 '//...... 为合适的时间,如果网络神探服务器出现异常,你还可以按程序提示重启服务器。 '//...... 这只是一个简化版本,在完整版本中,可以完全脱离人手工点击,而让程序在你设定的循环时间内定时查询服务器,如果服务器出现异常,则自动重启服务器,目前完整版本已快写成,如果有朋友需要 '//...... 的话,请留言告之。 '//QQ: 112183883 '//EMail: 112183883@163.com '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Option Explicit On Error Resume Next '定义一些将要用到的变量 Dim sRemoteHost Dim sSqlUid Dim sSqlPwd Dim sDbName Dim tStart Dim tDate Dim tInterval Dim ConnErrStr sRemoteHost = "192.168.0.254" '这时是你的网吧网络神探所在主机的IP地址,请根据自身情况设置 sSqlUid = "sa" 'SQL数据库用户名,不必修改 sSqlPwd = "rainsoft" 'SQL数据库密码,不必修改 sDbName = "NetDetective" 'SQL数据库名称,不必修改 tDate = Hour(Time()) '当前时间 tInterval = 2 '检测时间跨度,单位为小时,如果你要检查过去3个时的运行状态,请设为3 ConnErrStr = "网络神探连接失败,原因可能有如下几种:" & vbcrlf & vbcrlf ConnErrStr = ConnErrStr & "1.服务器IP地址错误;" & vbcrlf ConnErrStr = ConnErrStr & "2.数据库用户名或密码错误;" & vbcrlf ConnErrStr = ConnErrStr & "3.服务器已关闭;" & vbcrlf '定义网络神探联接出错时的提示信息 Dim objConn Dim objRs Dim sSQLstr If CInt(tDate)<tInterval Then Dim AskInfo AskInfo=MsgBox("当前系统时间小于你所设定的查询时间间隔,这样可能会导致查询结果不正确,你确定要继续执行程序吗? ",vbOkCancel,"") If AskInfo=2 Then WScript.Quit End If Set objConn=CreateObject("ADODB.Connection") '建立数据库链接对象 objConn.Open "Provider=SqlOledb;Data Source=" & sRemoteHost & ";Uid=" & sSqlUid & ";Pwd=" & sSqlPwd & ";Database=" & sDbName '打开数据库 If Err Then '如果打开数据库过程中出现错误,则显示提示 Err.Clear MsgBox ConnErrStr,,"" Else Set objRs=CreateObject("ADODB.Recordset") '如果数据库成功打开,则建立数据库记录集对象 sSQLstr="select top 1 * from [tUser] order by sUserID desc" '定义SQL查询 objRs.Open sSQLstr,objConn,1,3 '打开数据库记录集 Dim resinfo If Not objRs.EOF Then '判断数据库里是否有数据 tStart=CInt(tDate)-CInt(tInterval) '获得起始检查时间 Dim lastLoginData Dim hourForRs lastLoginData=objRs("dtLoginTime") hourForRs=CInt(Split(Split(lastLoginData," ")(1),":")(0)) '获得数据库中最后一个人登录时间的小时数 Dim dateStrArray,dateStr Dim timeStrArray,timeStr Dim lastLoginStr dateStrArray=Split(Split(lastLoginData," ")(0),"-") dateStr=dateStrArray(0) & "年" & dateStrArray(1) & "月" & dateStrArray(2) & "日" timeStrArray=Split(Split(lastLoginData," ")(1),":") timeStr=timeStrArray(0) & "点" & timeStrArray(1) & "分" & timeStrArray(2) & "秒" lastLoginStr=dateStr & timeStr Dim boolVar boolVar=False Dim i For i=tStart To tDate If hourForRs=i Then '如果过去设定的时间内有一条数据,则说明网络神探运行正常 boolVar=True Exit For End If Next If boolVar=False Then resinfo=MsgBox("网络神探在过去" & tInterval & "小时内没有一条数据记录,这可能有些不正常!要重启网络神探服务器吗? ",vbOKCancel,"") If resinfo=1 Then reStartWin Else MsgBox "请放心,网络神探在过去" & tInterval & "小时内运行正常,当前最后一个人开卡上机的时间是在" & lastLoginStr & "! ",,"" End If Else resinfo=MsgBox("网络神探运行不正常!是否要重启网络神探服务器? ",vbOKCancel,"") If resinfo=1 Then reStartWin End If objRs.Close Set objRs=Nothing End If objConn.Close Set objConn=Nothing Sub reStartWin() Dim Conn Set Conn=CreateObject("ADODB.Connection") Conn.Open "Provider=SqlOledb;Data Source=" & sRemoteHost & ";Uid=" & sSqlUid & ";Pwd=" & sSqlPwd & ";Database=master" Conn.Execute "xp_cmdshell 'if exist c:\reStartWindows.vbs del c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'echo set win32_os=getobject(""winmgmts:{(shutdown)}//./root/cimv2"").execquery(""select * from win32_operatingsystem where primary=true"")>>c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'echo for each os in win32_os>>c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'echo os.win32shutdown(6)>>c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'echo next>>c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'echo set win32_os=nothing>>c:\reStartWindows.vbs'" Conn.Execute "xp_cmdshell 'c:\reStartWindows.vbs'" If Err Then Err.Clear MsgBox "重启网络神探服务器失败,请用手工重新启动! ",,"" Else MsgBox "网络神探服务器正在重启,请稍候再运行本程序! ",,"" End If Conn.Close Set Conn=Nothing End Sub [ Last edited by 112183883 on 2007-3-16 at 03:49 PM ]


2007-3-16 14:39
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
leton
初级用户





积分 170
发帖 72
注册 2007-3-11
状态 离线
『第 2 楼』:  

支持!!


2007-3-17 00:27
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 3 楼』:  

平时很少见到vbs的专帖,顶




C:\>BLOG initiative.yo2.cn/ C:\>hh.exe ntcmds.chm::/ntcmds.htm C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2007-3-17 01:33
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lwp242
新手上路





积分 6
发帖 2
注册 2007-3-18
状态 离线
『第 4 楼』:  谁能帮编写一个能同步网络文件的VBS文件??

谁能帮编写一个能同步网络文件的VBS文件??我想把我这服务器的一个文件的文件同步到所以的机器里,怎么用VBS脚本实现?在开机的时候同步。


2007-3-18 04:33
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: