【问题标题】:How to get the system uptime in Windows? [closed]如何在 Windows 中获得系统正常运行时间? [关闭]
【发布时间】:2012-07-23 05:09:40
【问题描述】:

我使用的是 Windows 7 和 xp。我想知道系统的正常运行时间。

获取正常运行时间的命令/程序是什么?

【问题讨论】:

  • Err,您是在命令提示符下寻找命令吗?如果是,请在命令提示符下尝试net statistics server
  • 在超级用户中发布的问题
  • 如何从命令行中获取系统状态的信息与编程有很明显的关系。
  • 这个问题在ServerFault上得到解答:serverfault.com/questions/159612/…
  • 如果您也对待机/休眠感兴趣,请参阅superuser.com/a/909172/33303

标签: windows


【解决方案1】:

以下是在 Windows 操作系统中查找正常运行时间的八种方法。

1:使用任务管理器

在 Windows Vista 和 Windows Server 2008 中,任务管理器已得到加强,可显示有关系统的其他信息。这些信息之一是服务器的运行时间。

  1. 右键单击任务栏,然后单击任务管理器。您也可以单击 CTRL+SHIFT+ESC 进入任务管理器。
  2. 在任务管理器中,选择性能选项卡。
  3. 当前系统正常运行时间显示在 System or Performance ⇒ CPU for Win 8/10 下。

2:使用系统信息实用程序

systeminfo 命令行实用程序检查并显示各种系统统计信息,例如安装日期、安装的修补程序等。 打开命令提示符并键入以下命令:

systeminfo

您还可以将结果缩小到您需要的行:

systeminfo | find "System Boot Time:"

3:使用正常运行时间实用程序

Microsoft 发布了一个名为 Uptime.exe 的工具。它是一个简单的命令行工具,可以分析计算机的可靠性和可用性信息。它可以在本地或远程工作。该工具将以其简单的形式显示当前系统的正常运行时间。高级选项允许您访问更详细的信息,例如关机、重新启动、操作系统崩溃和 Service Pack 安装。

阅读以下 KB 了解更多信息和下载链接:

要使用它,请按以下步骤操作:

  1. 从上面的链接下载uptime.exe,并将其保存到一个文件夹中, 最好在系统路径中的一个(例如 SYSTEM32)中。
  2. 打开提升的命令提示符窗口。打开提升的命令 提示,点击开始,点击所有程序,点击附件, 右键单击命令提示符,然后单击以管理员身份运行。你 也可以在开始菜单的搜索框中输入 CMD,当你 看到命令提示符图标单击它以选择它,按住 CTRL+SHIFT 并按 ENTER
  3. 导航到您放置 uptime.exe 实用程序的位置。
  4. 运行uptime.exe 实用程序。您可以添加 /?按顺序执行命令 获得更多选择。

它没有提供很多命令行参数:

C:\uptimefromcodeplex\> uptime /?
usage: Uptime [-V]
    -V   display version

C:\uptimefromcodeplex\> uptime -V
version 1.1.0

3.1:使用旧的 Uptime Utility

有一个旧版本的“uptime.exe”实用程序。这具有不需要 .NET 的优点。 (除了简单的正常运行时间之外,它还具有更多功能。)

下载链接:Windows NT 4.0 Server Uptime Tool (uptime.exe) (final x86)

C:\uptimev100download>uptime.exe /?

UPTIME, Version 1.00
(C) Copyright 1999, Microsoft Corporation

Uptime [server] [/s ] [/a] [/d:mm/dd/yyyy | /p:n] [/heartbeat] [/? | /help]
        server          Name or IP address of remote server to process.
        /s              Display key system events and statistics.
        /a              Display application failure events (assumes /s).
        /d:             Only calculate for events after mm/dd/yyyy.
        /p:             Only calculate for events in the previous n days.
        /heartbeat      Turn on/off the system's heartbeat
        /?              Basic usage.
        /help           Additional usage information.

4:使用 NET STATISTICS 实用程序

如果您记得的话,另一个简单的方法是使用 NET STATISTICS 命令显示的统计信息中的近似信息。 打开命令提示符并键入以下命令:

net statistics workstation

统计信息应该告诉您它运行了多长时间,尽管在某些情况下此信息不如其他方法准确。

5:使用事件查看器

可能是所有这些中最准确的,但它确实需要一些点击。它不会显示自上次重新启动以来的确切天数或小时数,但会显示有关计算机重新启动的原因和时间的重要信息。我们需要查看事件 ID 6005,这是一个告诉我们计算机刚刚完成启动的事件,但您应该知道,实际上有数百甚至数千个其他事件类型您可以从中学习.

注意:顺便说一句,6006 事件 ID 是告诉我们服务器何时宕机的信息,因此如果 6006 和 6005 事件之间的时间差很大,则服务器宕机了很长时间。

注意:您也可以通过在运行命令中键入 eventvwr.msc 来打开事件查看器,也可以使用管理工具文件夹中的快捷方式。

  1. 单击左侧导航窗格中的事件查看器(本地)。
  2. 在中间窗格中,单击信息事件类型,然后向下滚动,直到看到事件 ID 6005。双击 6005 事件 ID,或右键单击它并选择查看此事件的所有实例。
  3. 将显示 6005 事件 ID 的所有实例的列表。您可以检查此列表,查看每个重启事件的日期和时间,等等。
  4. 右键单击开始菜单上的计算机图标(如果已启用,则在桌面上)打开服务器管理器工具,然后选择管理。导航到事件查看器。

5.1:通过 PowerShell 记录事件

Get-WinEvent -ProviderName eventlog | Where-Object {$_.Id -eq 6005 -or $_.Id -eq 6006}

6:以编程方式,使用GetTickCount64

GetTickCount64 检索自系统启动以来经过的毫秒数。

7:通过使用 WMI

wmic os get lastbootuptime

8:适用于 Windows XP 及更高版本的新 uptime.exe

与 Microsoft 的工具类似,但与包括 Windows 10 和 Windows Server 2016 在内的所有操作系统兼容,this uptime utility 不需要提升的命令提示符,并提供在 DD:HH 中显示正常运行时间的选项: MM:SS 和人类可读的格式(使用-h 命令行参数执行时)。

此外,这个版本的uptime.exe 将运行并显示系统正常运行时间,即使从 explorer.exe 会话中正常启动(即不通过命令行)并暂停以读取正常运行时间:

当执行为uptime -h:

【讨论】:

  • 6. WMI : wmic os 获取上次启动时间
  • Win XP / 2003 的注意事项:1. 不可用(不在任务管理器中显示)2. 可能不包括启动时间(无论如何不在我的 PC 上),但明确的正常运行时间 - 与后来的 Windows systeminfo 输出相反。请注意,systeminfo 输出是本地化的,因此在非英语 Windows 上,您需要相应地替换“系统启动时间”,或者只需运行 systeminfo 并检查整个输出
  • 现在这就是我所说的彻底的答案! :-)
  • 请注意,“1:通过使用任务管理器”报告的正常运行时间可能与启动时间不同,因为它不包括休眠状态所花费的时间。例如。我的电脑在两天前启动,并且报告只有 8:20 的正常运行时间。
  • 选项 1 在 Windows 8 任务管理器中似乎又消失了。
【解决方案2】:

我使用这个小 PowerShell sn-p:

function Get-SystemUptime {
    $operatingSystem = Get-WmiObject Win32_OperatingSystem
    "$((Get-Date) - ([Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LastBootUpTime)))"
}

然后产生如下内容:

PS> Get-SystemUptime
6.20:40:40.2625526

【讨论】:

【解决方案3】:

有两种方法可以做到这一点..

选项 1:

1.  Go to "Start" -> "Run".

2.  Write "CMD" and press on "Enter" key.

3.  Write the command "net statistics server" and press on "Enter" key.

4.  The line that start with "Statistics since …" provides the time that the server was up from.


  The command "net stats srv" can be use instead.

选项 2:

Uptime.exe 工具可让您估计 Windows NT 4.0 SP4 或更高版本的服务器可用性

http://support.microsoft.com/kb/232243

希望对你有所帮助!!

【讨论】:

  • 您建议的链接已损坏。您可以尝试另一种方法来破坏链接,如下所示; link Internet 存档 URL 或 link
猜你喜欢
  • 2014-07-27
  • 2013-01-25
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多