本帖最后由 fastslz 于 2011-8-26 19:23 编辑
| If (Lcase(Right(Wscript.FullName,11)) = "wscript.exe") Then | | CreateObject("WScript.Shell").Run("%Comspec% /C " &Chr(34)&"mode con cols=100&Cscript.exe //NoLogo "&Chr(34)& Wscript.ScriptFullName &Chr(34)&"&&(Echo 此窗口40秒后自动关闭...&Ping -n 40 127.0.1>nul&Exit)"&Chr(34)),3:Wscript.Quit | | Wscript.Quit | | End If | | Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") | | Set colLoggedEvents = WMI.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'System' And EventCode = '6005' Or EventCode = '6006' Or EventCode = '6008'") | | For Each objEvent In colLoggedEvents | | Flag = Flag + 1 | | If Flag = 1 Then | | Wscript.Echo "本次开机时间: " & UTCtoNow(objEvent.TimeWritten) | | ElseIf (Flag Mod 2) = 0 Then | | G = UTCtoNow(objEvent.TimeWritten) | | Else | | K = UTCtoNow(objEvent.TimeWritten) | | Wscript.Echo "前次开机:"&K&" "&vbTab&"对应关机:"&G&" "&vbTab& "运行时长:" &StoHMS(DateDiff("s", K, G)) | | End If | | Next | | | | Function UTCtoNow(nD) | | If Not IsNull(nD) Then | | Set SWDT = CreateObject("WbemScripting.SWbemDateTime") | | SWDT.Value = nD | | UTCtoNow = SWDT.GetVarDate(True) | | End If | | End Function | | | | Function StoHMS(Sec) | | H = Int(Sec/3600) :H1 = Sec Mod 3600:M = Int(H1/60) :S = H1 Mod 60 | | StoHMS = H & "小时" & M & "分钟" & S &"秒" | | End FunctionCOPY |
|