vbs查看系统开关机时间
如何获取XP系统的开机时间?
下面给出两种代码,保存到扩展名为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)
    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
'CreateObject("Wscript.Shell").Run "D:\Document\消费记录.xlsx",3,ture  '此处用于测试打开文件
Function UTCtoNow(nD)
    If Not IsNull(nD) Then
    Set SWDT = CreateObject("WbemScripting.SWbemDateTime")
    SWDT.Value = nD
    UTCtoNow = SWDT.GetVarDate(True)
    End If
End Function
二:下面在给出一个循环查找多次开机记录的方式,并且写到文件并打开 ---- 写文件形式
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'")
filePath="c:\startLog.txt"
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(filePath,2,true)
file.writeline "当前时间:" & Now
file.writeline "最近几次的开机和关机时间:"
file.close
set file=fso.opentextfile("c:\startLog.txt",8,true)
Flag = 0
For Each objEvent In colLoggedEvents
    Flag = Flag +1
    msg = ""
    If (flag < 25) Then
        If (flag Mod 2) = 0 Then
            msg = "关机时间:" & UTCtoNow(objEvent.TimeWritten) & vbNewLine
        Else
            msg = "开机时间:" & UTCtoNow(objEvent.TimeWritten)
        End If
        file.writeline msg
    End If
Next
file.close
CreateObject("Wscript.Shell").Run filePath,3,ture
Function UTCtoNow(nD)
    If Not IsNull(nD) Then
    Set SWDT = CreateObject("WbemScripting.SWbemDateTime")
    SWDT.Value = nD
    UTCtoNow = SWDT.GetVarDate(True)
    End If
End Function
以下是经过优化代码:保存的文件根据时间生成,提示保存路径,以及增加换行
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'")
filePath="c:\startLog_" & FormateDateTime(Now,) & ".txt"
set fso=createobject("scripting.filesystemobject")
set file=fso.opentextfile(filePath,,true)
file.writeline "当前系统时间:" & Now
file.writeline "最近几次的开机和关机时间:" & vbNewLine
file.close
set file=fso.opentextfile(filePath,,true)
Wscript.Echo "开机日志已保存到:" & vbNewLine & filePath
Flag =
For Each objEvent In colLoggedEvents
    Flag = Flag +
    msg = ""
    If (flag < ) Then
        If (flag Mod ) =  Then
            msg = "关机时间:" & UTCtoNow(objEvent.TimeWritten) & vbNewLine
        Else
            msg = "开机时间:" & UTCtoNow(objEvent.TimeWritten)
        End If
        file.writeline msg
    End If
Next
file.close
CreateObject("Wscript.Shell").Run filePath,,ture
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 FormateDateTime(strTime,ParaType)
    select case ParaType
    Rem Type 1 is YYYYMMDDHHmmss
    case ""
    strTime = year(strTime) & right( "" & month(strTime),) & right( "" & day(strTime),) & right( "00 " & hour(strTime),) & right( "00 " & minute(strTime),) & right( "00 " & second(strTime),)
    Rem Type 2 is YYYYMMDD
    case ""
    strTime = year(strTime) & right( "" & month(strTime),) & right( "" & day(strTime),)
    Rem Type 3 is YYYY-MM-DD
    case ""
    strTime = year(strTime) & "-"& right( "" & month(strTime),) & "-"& right( "" & day(strTime),)
    Rem Type 4 is YYYY年MM月DD日
    case ""
    strTime = year(strTime) & "年"& right( "00 " & month(strTime),) & "月"& right( "" & day(strTime),)& "日 "
    Rem Type 5 is YYYY-MM-DD HH:mm:ss
    case ""
    strTime = year(strTime) & "-"& right( "00 " & month(strTime),) & "-"& right( "" & day(strTime),) & " "& right( "00 " & hour(strTime),) & ": "& right( "00 " & minute(strTime),) & ": "& right( "00 " & second(strTime),)
    end select
    FormateDateTime = strTime
end Function 
vbs查看系统开关机时间的更多相关文章
- win10中查看开关机时间及查看admin的RID的方法
		
原文链接: https://www.toutiao.com/i6772133439593251339/ 打开系统的注册表 键盘输入win+r组合键出现运行窗口命令 输入regedit 按回车键,进入注 ...
 - windows如何查看电脑开关机记录
		
如何查看电脑开关机记录 (一)如果你只是想查看一下,从昨天关机到今天开机之间有没有人使用我的计算机,在“开始”菜单的运行”中输入“eventvwr.msc”,或者是按下"开始菜单" ...
 - windows开关机时间记录
		
1. 开机时间记录批处理文件,kai.bat @echo off echo %date% %time% 开机 >>D:\开关机记录\开关机时间.txt 2. 关机时间记录批处理文件,gua ...
 - Linux常用命令(第二版) --系统开关机命令
		
系统开关机命令 说明-服务器不会经常的关机,重启,没有故障,服务器不会关机.因此这些命令就显得不是很常用. 1.shutdown /usr/sbin/shutdown e.g. shutdown -h ...
 - Windows XP 如何查看计算机开关机记录
		
在Windows XP中,我们可以通过“事件查看器”的事件日志服务查看计算机的开.关机时间.因为事件日志服务会随计算机一起启动和关闭,并在事件日志中留下记录. 在这里有必要介绍两个ID号:6006和6 ...
 - 查windows系统开关机记录
		
https://blog.csdn.net/dufufd/article/details/53316079 者是按下"开始菜单"-"程序"-"管理工具 ...
 - Linux——系统开关机指令简单学习笔记
		
关机: 命令名称:shutdown 命令所在路径:/usr/sbin/shutdown 执行权限:root 语法:shutdown 功能描述:关机 范例:# shutdown -h now 重启: 命 ...
 - windows系统开/关机日志位置
		
邮件计算机=>管理 =>系统工具=>事件查看器=>Windows日志=>系统 过滤:关机:事件ID=6006 开机:事件ID=6005
 - Win 7 通过事件管理器查看计算机开机关机时间
		
控制面板-管理工具-事件查看器 视图中开机来源:Kernel-General 事件ID:13 关机来源:Kernel-General 事件ID:12
 
随机推荐
- window.name跨域
			
window.name? 每一个页面都有一个自己的window,而window.name是window的名字. window.name跨域原理 window对象有个name属性,该属性有个特征:即在一 ...
 - Python与硬件学习笔记:蜂鸣器(转)
			
相信大家对蜂鸣器都不会陌生,很多产品和方案中都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下.开始工作.工作结束或是故障等等.这里对单片机在蜂鸣器驱动上的应用作一下描述. 蜂鸣器的介绍 ...
 - JS 中 Date() 的其他操作集锦
			
好吧,这周完全是个业务型的程序猿了,明显地能感觉到洗头发时头皮都会有点疼,是秃顶的前兆. 算得上收获的就是有较多的接触到计算时间方面的事件...嗯,几个笔记分享一下 // 处理 /Date(" ...
 - 20145210姚思羽《网络对抗》Web基础
			
20145210姚思羽<网络对抗>Web基础 实验后回答问题 (1)什么是表单 表但是与用户交互的窗口,负责采集网页中的数据,允许用户在表单中输入信息. (2)浏览器可以解析运行什么语言. ...
 - mybatis 一对多和多对一
			
在学习MyBatis3的过程中,文档上面一直在强调一个id的东西!在做这个实验的时候,也因为没有理解清楚id含义而导致一对多的“多”中也只有一条数据.id和result的唯一不同是id表示的结果将 ...
 - shell删除最后一列、删除第一行、比较文件
			
删除文件第一行: sed -i '1d' filename 删除文件最后一列: awk '{print $NF}' filename 比较文件的方法: 1)comm -3 --nocheck-orde ...
 - CDH- cdh kafka已经卸载了,但是服务器还有kafka-topics这些命令可用,导致重新安装kafka出现问题
			
cdh界面删除并不会将 kafka数据删除,需要将kafka集群节点 var/local/kafka/data 清理掉 然后将zk brokers/topics 下的topic也清理掉
 - mysql数据库优化课程---2、命令其实也就是那几个单词
			
mysql数据库优化课程---2.命令其实也就是那几个单词 一.总结 一句话总结: 比如show,use,alter 1.开启和关闭mysql服务? Windows下:net start/stop m ...
 - compile to 32-bit elf file
			
nasm -f elf -o a.o a.asm gcc -c -m32 -o b.o b.c ld -s -m elf_i386 -Ttext 0x30400 -o b.bin b.o a.o
 - Jenkins自动化部署及代码检查配置应用
			
首先jenkins是基于java开发的一种持续集成工具,它的存在和实际应用使得我们在开发过程中节省了很多宝贵时间,既然基于java,所以java环境是必须的. 其次Tomcat是针对Java的一个开源 ...