zoukankan      html  css  js  c++  java
  • VBS _获取系统本次及上次开关机时间WinXP Win7兼容版

    VBS _获取系统本次及上次开关机时间WinXP Win7兼容版

    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'")

    For Each objEvent In colLoggedEvents

        Flag = Flag +1

        If Flag = 1 Then

            Wscript.Echo "本次开机时间: " & UTCtoNow(objEvent.TimeWritten)

        Else

        If (flag < 4) Then

            If (flag Mod 2) = 0 Then

                G = "上次关机时间:" & UTCtoNow(objEvent.TimeWritten) & vbNewLine

        Else

                K = "上次开机时间:" & UTCtoNow(objEvent.TimeWritten)

                Wscript.Echo K & vbNewLine & G

            End If

        End If

        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

    把以上代码保存扩展名是vbs的文件就可以了。

    参考:http://hi.baidu.com/haikqq/blog/item/fed2f7d745499dc6a044df15.html

    根据以上代码和构思,我经过自己的修改和优化,比较符合自己的使用习惯,你可以把下面的代码保存到扩展名为vbs的文件中,如下代码:

    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'")
    For Each objEvent In colLoggedEvents
        Flag = Flag +1
        If Flag = 1 Then
            Wscript.Echo "本次开机时间: " & UTCtoNow(objEvent.TimeWritten)
        end if
        If (flag>=2 and flag < 4) Then
            If (flag Mod 2) = 0 Then
                G = "上次关机时间:" & UTCtoNow(objEvent.TimeWritten) & vbNewLine
            Else
                K = "上次开机时间:" & UTCtoNow(objEvent.TimeWritten)
                Wscript.Echo K & vbNewLine & G
            End If
        End If
        If (flag>=4 and flag <6) Then
            If (flag Mod 2) = 0 Then
                G = "再上次关机时间:" & UTCtoNow(objEvent.TimeWritten) & vbNewLine
            Else
                K = "再上次开机时间:" & UTCtoNow(objEvent.TimeWritten)
                Wscript.Echo K & vbNewLine & G
            End If
        End If
    
        If (flag Mod 2) = 1 Then
        G=K=""
        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
  • 相关阅读:
    计算机网络面试题总结
    为0LTP选择RDMBS时,你都需要考虑哪些?
    Redis集群搭建与简单使用
    Innodb关键特性之自适用Hash索引
    关于MySQL的commit非规律性失败案例的深入分析
    MySQL存储写入性能严重抖动分析
    【Linux】管理文件系统
    【Linux】YUM源搭建
    【Linux】计划任务
    【Linux】日志分析及管理
  • 原文地址:https://www.cnblogs.com/mq0036/p/2799150.html
Copyright © 2011-2022 走看看