如何在Windows中获得系统正常运行时间?[关闭]


308

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

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


5
错误,您是否在命令提示符中寻找命令?如果是这样,请net statistics server在命令提示符下尝试。
s0d4pop 2012年

13
问题将在超级用户中发布
2012年

1
如何从命令行检索有关系统状态的信息与编程非常相关。
约翰

:这个问题的答案在ServerFault serverfault.com/questions/159612/...

如果您也对待机/休眠感兴趣,另请参见superuser.com/a/909172/33303
Janus Troelsen

Answers:


685

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

1:通过使用任务管理器

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

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

    任务管理器中的“正常运行时间”字段

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

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

systeminfo

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

systeminfo | find "System Boot Time:"

在此处输入图片说明

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

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

阅读以下知识库以获取更多信息和下载链接:

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

  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.exe”实用工具的较旧版本。这具有不需要.NET的优点。(除了简单的正常运行时间,它还有很多其他功能。)

下载链接:Windows NT 4.0服务器正常运行时间工具(uptime.exe)(最终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. 在中间窗格中,单击“信息”事件类型,然后向下滚动直到看到事件ID6005。双击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之前(包括Windows 10)和所有操作系统兼容,此正常运行时间实用程序不需要提升的命令提示符,并提供了一个选项来在DD:HH:MM:SS中显示正常运行时间以及人类可读的格式(与-h命令行参数一起执行时)。

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

在此处输入图片说明

当执行为uptime -h

在此处输入图片说明


2
6. WMI:WMIC操作系统获得lastbootuptime
DED”

3
Win XP / 2003的注意事项: 1.不可用(在任务管理器中不显示) 2.可能不包括启动时间(无论如何不在我的PC上),但包含明显的正常运行时间-与以后的Windows systeminfo输出相反。请注意,systeminfo输出已本地化,因此在非英语的Windows上,您需要相应地替换“系统启动时间”,或者只是运行systeminfo并检查整个输出
FelixD 2014年

48
现在,这就是我所说的彻底的答案!:-)
Andrew Steitz 2014年

2
请注意,“ 1:通过使用任务管理器”报告的正常运行时间可能不同于启动时间,因为它不包括在休眠状态下花费的时间。例如,我的PC在两天前启动,仅报告了8:20的正常运行时间。
user1708042 2015年

3
Windows 8任务管理器中的选项1似乎又消失了。
BlaM 2015年

15

我使用以下PowerShell小片段:

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

然后产生如下内容:

PS> Get-SystemUptime
6.20:40:40.2625526

如何从Windows上的python内部调用此powershell?
Ciasto piekarz


7

两种方法可以做到这一点。

选项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

希望它对您有帮助!!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.