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
  • 相关阅读:
    c:forTokens标签循环输出
    jsp转long类型为date,并且格式化
    spring中@Param和mybatis中@Param使用区别(暂时还没接触)
    734. Sentence Similarity 有字典数组的相似句子
    246. Strobogrammatic Number 上下对称的数字
    720. Longest Word in Dictionary 能连续拼接出来的最长单词
    599. Minimum Index Sum of Two Lists两个餐厅列表的索引和最小
    594. Longest Harmonious Subsequence强制差距为1的最长连续
    645. Set Mismatch挑出不匹配的元素和应该真正存在的元素
    409. Longest Palindrome 最长对称串
  • 原文地址:https://www.cnblogs.com/mq0036/p/2799150.html
Copyright © 2011-2022 走看看