如何知道 Windows 上次重新启动的时间?

Roy*_*mir 138 windows-7 command-line wmic

我如何知道上次重新启动运行 Windows 7 的计算机的时间?

我更喜欢不涉及搜索事件日志的解决方案,而是类似wmic或可能是cmd命令的解决方案。

m0n*_*awk 197

systeminfo命令几乎是您所需要的。在英文 Windows 7 上,您还可以执行以下操作:

systeminfo | find /i "Boot Time"
Run Code Online (Sandbox Code Playgroud)

或者在WMIC的帮助下:

wmic os get lastbootuptime
Run Code Online (Sandbox Code Playgroud)

Windows 7 和 Windows XP 之间的主要区别在于,在 Windows 7 中 Microsoft 只能显示上次启动时间。


同样在任务管理器中:

在此处输入图片说明

  • 请注意,`systeminfo` 是本地化的。所以“启动时间”只适用于英文版的 Windows。 (4认同)
  • @RoyiNamir:通过一些 [谷歌搜索](http://social.technet.microsoft.com/Forums/eu/winservergen/thread/77aae737-7fe8-414b-b9a8-d06a7ac1f874) 重启列表(看起来非常相似):`Get -EventLog -LogName 系统 | { ($_.InstanceId -bAnd 0xFFFF) -eq 6006 }` (3认同)
  • `系统信息| 找到 /i "Systemstartzeit"` 德语 (3认同)
  • “启动时间”似乎在撒谎。它是上周五告诉我的,但我知道从那以后我已经关闭了几次计算机。 (2认同)
  • 针对西班牙语使用者的本地化:`systeminfo | find /i "tiempo de arranque"` 对于西班牙语版本的 Windows。 (2认同)

dan*_*dan 30

执行此操作的另一种方法是使用以下在 Windows XP 和 Windows 7 中均可使用的命令行:

net statistics workstation
Run Code Online (Sandbox Code Playgroud)

它的优点是systeminfo在格式化日期时比替代方案更快(wmic没有)。如果您实际使用此命令调试计算机,您还会获得一些其他有用的信息(因为您是专门询问 的cmd,我假设您不是以编程方式执行此操作)。

您可以在net statistics此处找到有关该命令的更多信息:http : //technet.microsoft.com/en-us/library/bb490714.aspx

下面是一个结果示例(使用 Windows 7 Pro SP1 x64 的法语副本,用户语言对于命令行无关紧要):

例子

(计算机名称故意模糊)


有关确定系统正常运行时间的准确性的更多详细信息,请访问http://en.wikipedia.org/wiki/Uptime


重要说明:此方法确定计算机上次启动的时间,而不是其正常运行时间。如果您使用睡眠/休眠,这两个数字会有所不同。

  • 它与我的相差九个多月:-) 这是唯一正确的答案。它给出了上次启动的实际日期戳(或启动后任何相关服务启动的时间,非常接近它),而 `wmic`、任务管理器和 `systeminfo` 似乎都从当前时间倒数计数PC 已运行的滴答数。但是,如果您像我一样经常让计算机进入睡眠(或休眠)状态,那么实际的总*运行*时间比自上次启动以来的时间要短得多(在我的情况下,在过去几个月中只有 30 天),完全抛弃那个计算。 (2认同)

Bac*_*its 20

这是班级的LastBootUpTime财产Win32_OperatingSystem。您可以通过以下命令使用 WMIC:

wmic os get lastbootuptime
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用 Powershell,您可以将时间转换为比烦人的 WMI 日期时间格式更具可读性的格式:

Get-WmiObject -class Win32_OperatingSystem | Select-Object  __SERVER,@{label='LastBootUpTime';expression={$_.ConvertToDateTime($_.LastBootUpTime)}}
Run Code Online (Sandbox Code Playgroud)

请注意,在更高版本的 PowerShell 中,您还可以使用 Get-CimInstance,它会自动将值作为日期时间返回:

Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime
Run Code Online (Sandbox Code Playgroud)

唯一令人恼火的是,Get-CimInstance 有时会更改来自 WMI 对象的某些系统字段的名称,例如这里的 __SERVER。您必须使用CSNamePSComputerName,这似乎对我有用。

  • @Royi 是的,WMI 时间戳很愚蠢。它是一个`CIM_DATETIME`,这是标准要求的格式。它是 `yyyymmddHHMMSS.mmmmmmsUUU`,使用 24 小时制。在这里,您上次重新启动的时间是 2012 年 12 月 17 日下午 5:58。http://msdn.microsoft.com/en-us/library/windows/desktop/aa387237(v=vs.85).aspx (7认同)

小智 11

对于那里的 Windows 10 用户......

系统属性 Windows 10 - 性能正常运行时间

  • 这会向您显示 *uptime*(即系统运行的时间),而不是系统按照 OP 的要求启动的时间。 (3认同)
  • 确实如此,但这仍然有用。 (2认同)

con*_*tti 5

请注意,正如Alex所指出的,该/sleepstudy命令直到 Windows 8.1 才被添加。/systempowerreport可能会起作用。

请注意,这些其他答案中的一些对我来说从来没有用过,例如搜索事件日志总是缺少一些条目。@Florisz 的回答在这方面也是正确的。这是我的解决方案:

在管理员 cmd shell 中,运行以下命令:

powercfg /sleepstudy /output sleepstudy.html
Run Code Online (Sandbox Code Playgroud)

然后sleepstudy.html在浏览器中打开文件。您将收到有关过去三天关机/重启/待机/休眠的组织惊人的统计数据。(因此,如果需要,请定期运行)

输出示例:(AFAIR,Showdown (Hybrid)表示快速启动)

在此处输入图片说明

来源/文档| 也相关

  • 这就是我在 Windows 10 上寻找的东西!我不重启,我正常关机。LastBootTime 仅指在 Windows 10 上重新启动。 (2认同)