我想检查操作系统的启动时间。也就是说,最近一个月,Windows 启动的时间。有可能找到这个吗?
6 回答
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。
以下是检查系统启动 \ 的以下步骤uptime
。
- 打开任务管理器(从 alt+ctrl+del,然后单击“
Start Task Manager
”,或者从开始菜单运行命令并键入“taskmgr.exe”,然后按 Enter)。 - 单击
Perfomance
选项卡 - 寻找
System
靠近底部中间的组
然后它将Uptime
以 DD::HH::MM::SS 格式显示。
在 windows xp 中可以输入
systeminfo| find "System Up Time"
它将显示系统正常运行时间。
要弄清楚这些信息,您可以编写一个程序来通过事件日志进行 grep
如果您尝试记录所有启动和关闭时间,您将需要某种日志。您可以自己编写一个,也可以查看 Microsoft 在 Windows 7 中提供的内容。为此,请查看以下教程。
你想通过编程代码来做到这一点吗?就像在 C/C++ 代码中一样?
GetTickCount64()返回系统启动后的毫秒数。仅限 Vista 及以上。(所以这应该适用于 Windows 7)。
如果您必须在比 Vista 或 Win2K8 服务器更早的操作系统上运行,则有普通的旧GetTickCount() - 在 49.7 天左右后循环回零。
然后使用其他时间/日期函数来获取当前时间。从当前时间减去 GetTickCount 或 GetTickCount64 返回的值。那是系统最后一次启动的时间。