我想要一个
Windows服务,我正在建设一夜之间运行.所以我改变了电源选项并将电脑设置为永不休眠.启动了Windows服务并回家了.今天早上我发现我的电脑正在睡觉,如果有人在我离开后手动让它睡觉,我很好奇.是否有日志文件或某种方式来查找我的计算机最后一次进入睡眠状态?我正在使用Windows 7操作系统.
你咨询了事件查看器吗?使用命令行启动
Event Viewer
>打开命令提示符.若要打开命令提示符,请依次单击“开始”,“所有程序”,“附件”,然后单击“命令提示符”.
>输入eventvwr.
有关预定/未预定睡眠和重新启动的信息应通过将左侧计划中的树视图展开到事件查看器>来找到. Windows日志>系统.
您还可以使用WMI服务对象查询Win32_OperatingSystem类的LastBootUpTime属性来获取上次启动时间.请注意,返回的日期采用WMI日期时间格式,您需要使用工具将其转换为人类可读日期.
这是一个VBScript示例:
' LastBoot.vbs Option Explicit Dim wmiService,objDateTime,OS Set wmiService = GetObject("winmgmts://localhost/root/cimv2") Set objDateTime = CreateObject("WbemScripting.SWbemDateTime") Set OS = wmiService.ExecQuery("SELECT * FROM Win32_OperatingSystem").ItemIndex(0) WScript.Echo OS.LastBootUpTime ' Example: 20180801131622.495364+660 objDateTime.Value = OS.LastBootUpTime WScript.Echo objDateTime.GetVarDate ' Example: 01/08/2018 12:16:22 PM
这是一个PowerShell示例:
(Get-WmiObject Win32_OperatingSystem).LastBootUpTime # Outputs: 20181009160558.495300+660 (gcim Win32_OperatingSystem).LastBootUpTime # Outputs: Wednesday,1 August 2018 12:16:22 PM
这是一个命令提示示例(使用PowerShell):
powershell -command "(Get-WmiObject Win32_OperatingSystem).LastBootUpTime" REM Outputs: 20180801131622.495364+660 powershell -command "(gcim Win32_OperatingSystem).LastBootUpTime" REM Outputs: Wednesday,1 August 2018 12:16:22 PM
参考文献:
> https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-operatingsystem
> http://powershell-guru.com/powershell-tip-7-convert-wmi-date-to-datetime/
> https://www.thewindowsclub.com/find-system-uptime-windows