我如何知道运行 Windows 7 的计算机上次重启的时间?
我更喜欢不涉及搜索事件日志的解决方案,而是类似wmic
或可能的cmd
命令。
答案1
systeminfo
命令几乎就是您所需要的。在英文版 Windows 7 上,您还可以执行以下操作:
systeminfo | find /i "Boot Time"
或者借助西米利都:
wmic os get lastbootuptime
Windows 7 和 Windows XP 之间的主要区别在于,在 Windows 7 中 Microsoft 只能显示上次启动时间。
同样在任务管理器中:
答案2
另一种方法是使用以下命令,我在 Windows XP、Windows 7 和 Windows 10 上测试成功:
net statistics workstation
systeminfo
它比格式化日期(不格式化日期)更快wmic
。您可以net statistics
在此处找到有关该命令的更多信息:http://technet.microsoft.com/en-us/library/bb490714.aspx
以下是结果示例:
更多详情http://en.wikipedia.org/wiki/Uptime关于确定系统正常运行时间的准确性。
评论中的补充说明:此方法确定工作站服务上次启动的时间,而不是计算机正常运行时间。虽然这通常应该是相同的,但如果您使用睡眠/休眠模式,这两个数字可能会有所不同。
答案3
这是类LastBootUpTime
的属性Win32_OperatingSystem
。您可以使用以下命令使用 WMIC:
wmic os get lastbootuptime
或者如果您使用 Powershell,您可以将时间转换为比烦人的 WMI 日期时间格式更易读的格式:
Get-WmiObject -class Win32_OperatingSystem | Select-Object __SERVER,@{label='LastBootUpTime';expression={$_.ConvertToDateTime($_.LastBootUpTime)}}
请注意,在 PowerShell 的更高版本中,您还可以使用 Get-CimInstance,它将自动将值作为日期时间返回:
Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime
唯一令人恼火的是,Get-CimInstance 有时会更改 WMI 对象中的某些系统字段的名称,例如此处的 __SERVER。您必须使用 或CSName
,PSComputerName
这对我来说似乎有效。
答案4
请注意,正如亚历克斯/sleepstudy
直到 Windows 8.1 才添加该命令。/系统电源报告可能会起作用。
请注意,其中一些其他答案对我来说从未起作用,例如搜索事件日志总是缺少一些条目。@Florisz 的答案在这方面也是正确的。这是我的解决方案:
在管理员 cmd shell 中,运行以下命令:
powercfg /sleepstudy /output sleepstudy.html
然后在浏览器中打开该文件sleepstudy.html
。你将看到有关关机/重启/待机/休眠的井然有序的统计数据,这些数据来自最近三天. (因此,如果需要,请定期运行)
输出示例:(AFAIR,Showdown (Hybrid)
表示快速启动)