核心代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
strComputer = "." Set objWMIService = GetObject( "winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2" ) Set colLoggedEvents = objWMIService.ExecQuery _ ( "Select * from Win32_NTLogEvent " _ & "Where Logfile = 'System' And EventCode = '6005' Or EventCode = '6006'" ) For Each objEvent In colLoggedEvents Flag = Flag + 1 If Flag = 1 Then Wscript.Echo "本次开机时间: " & FormatWMIUTC(objEvent.TimeWritten) ElseIf Flag = 2 Then Wscript.Echo "上次关机时间: " & FormatWMIUTC(objEvent.TimeWritten) ElseIf Flag = 3 Then Wscript.Echo "上次开机时间: " & FormatWMIUTC(objEvent.TimeWritten) Exit For End If Next 'FormatUTC Function FormatWMIUTC(WMIDateString) DS = " // :: " FormatWMIUTC = Left(WMIDateString,2) For i = 2 To 7 FormatWMIUTC = FormatWMIUTC & Mid(WMIDateString, i * 2 - 1, 2) & Mid(DS,i,1) Next 'FormatWMIUTC = Mid(WMIDateString, 1, 4) & "年" _ ' & Mid(WMIDateString, 5, 2) & "月" _ ' & Mid(WMIDateString, 7, 2) & "日 " _ ' & Mid (WMIDateString, 9, 2) & ":" _ ' & Mid(WMIDateString, 11, 2) & ":" _ ' & Mid(WMIDateString,13, 2) End Function |
将上面的代码保存为vbs后缀的文件,双击运行即可。看到这次的开机时间,上次的开关机时间。