4

我想检查操作系统的启动时间。也就是说,最近一个月,Windows 启动的时间。有可能找到这个吗?

4

6 回答 6

16

PowerShell和系统事件日志非常适合此任务。注意 id 为 12 的事件是System Start Up事件,而 id 13 表示System Shutdown。以下 PowerShell 脚本将提供一个月内系统的启动和关闭时间。

echo "Start time:"
Get-EventLog System -After 12/21/2011 | ? {$_.EventId -eq 12} | % {$_.TimeGenerated}
echo "Shutdown time:"
Get-EventLog System -After 12/21/2011 | ? {$_.EventId -eq 13} | % {$_.TimeGenerated}

将 替换为12/21/2011您希望的任何日期。单击开始菜单,键入“powershell”,然后回车将启动 Windows PowerShell。

于 2012-01-22T06:02:08.307 回答
5

以下是检查系统启动 \ 的以下步骤uptime

  1. 打开任务管理器(从 alt+ctrl+del,然后单击“ Start Task Manager”,或者从开始菜单运行命令并键入“taskmgr.exe”,然后按 Enter)。
  2. 单击Perfomance选项卡
  3. 寻找System靠近底部中间的组

然后它将Uptime以 DD::HH::MM::SS 格式显示。

于 2012-01-22T05:27:56.477 回答
5

在 windows xp 中可以输入

systeminfo| find "System Up Time"

它将显示系统正常运行时间。

于 2012-12-13T11:40:35.817 回答
2

要弄清楚这些信息,您可以编写一个程序来通过事件日志进行 grep

于 2012-01-22T05:39:54.190 回答
2

如果您尝试记录所有启动和关闭时间,您将需要某种日志。您可以自己编写一个,也可以查看 Microsoft 在 Windows 7 中提供的内容。为此,请查看以下教程。

http://www.sevenforums.com/tutorials/177443-gathering-startup-shutdown-sleep-hibernate-reboot-trace.html

于 2012-01-22T05:43:21.590 回答
1

你想通过编程代码来做到这一点吗?就像在 C/C++ 代码中一样?

GetTickCount64()返回系统启动后的毫秒数。仅限 Vista 及以上。(所以这应该适用于 Windows 7)。

如果您必须在比 Vista 或 Win2K8 服务器更早的操作系统上运行,则有普通的旧GetTickCount() - 在 49.7 天左右后循环回零。

然后使用其他时间/日期函数来获取当前时间。从当前时间减去 GetTickCount 或 GetTickCount64 返回的值。那是系统最后一次启动的时间。

于 2012-01-22T08:06:53.707 回答