如何在Windows上找出正常运行时间?


Answers:


53
  • 运行命令行
  • 类型Systeminfo
  • 查找“系统启动时间”

    天:10小时:10分钟:10秒:10

对于较短的结果,可以使用:

systeminfo | find "Boot Time" 

8
>系统信息| 找到“启动时间”
svandragt

2
对我来说,现在最简单的方法是> systeminfo | 找到“正常运行时间”
Juozas Kontvainis 09年

3
在Vista上不起作用(改用已经包含的uptime.exe)。
mwore

3
另请注意,您可以使用此命令以systeminfo /S * machinename *`|的形式查询远程计算机。找到“正常运行时间”`
GAThrawn

3
在Windows 7上,它显示“系统启动时间”,但显示“系统启动时间”。
基思·汤普森

12

Microsoft uptime.exe提供了很棒的命令行工具:

http://www.microsoft.com/downloads/details.aspx?FamilyID=BC18FFDB-D6FE-400B-B892-94783AE44C91&displaylang=en

使用此工具的好处是它的运行速度非常快。

正常运行时间[服务器] [/ s] [/ a] [/ d:mm / dd / yyyy | / p:n] [/ heartbeat] [/?| / help]
服务器要处理的远程服务器的名称或IP地址。
/ s显示关键系统事件和统计信息。
/ a显示应用程序故障事件(假设为/ s)。
/ d:仅计算mm / dd / yyyy之后的事件。
/ p:仅计算前n天的事件。
/ heartbeat打开/关闭系统的心跳
/?基本用法。
/ help其他用法信息。


这已经停产了。Archvie下载 ; 还sysinternals psinfo
约翰v昆普

在Windows 10上运行
James Perih,

10

打开命令提示符并键入:

net stats srv | find "Statistics"

输出示例:

>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14

来源(MS KB)。

编辑:实际上,这将告诉您PC启动的日期和时间,而不是持续时间。


我不确定该信息现在是否正确,当我使用MicTech和KovBal的解决方案时,会得到以下信息:> systeminfo | 找到“启动时间”系统启动时间:2009
svandragt

在Vista上,它返回“ Statistics since 1.1.1980 00:00:00”(改用已经包含的uptime.exe)
-mwore

返回假信息,就像systeminfo一样。我正在得知机器最后一次重启的事实,这是在返回时间。但是那天晚上晚些时候,它被关闭,并在今天早晨重新打开。然而,它返回的是上一次重启的时间。5美元表示从现在开始的一个月后,它将报告正常运行时间为一个月。我网络上的许多计算机都显示了数月的正常运行时间,这都是虚假的。他们将在一天结束时关闭。
贾斯汀·艾米

@JustinEmlay您的计算机在睡眠,休眠还是关闭?您正在使用哪个版本的Windows?
mwfearnley

Windows 10 LTSC2019。我发现了问题。Windows 10不再关闭也无法正确重启。通过设计。它使用一些时髦的混合睡眠模式。这也使得Windows无法正确重置“待重启”状态。一个快速版本的Windows 10的电源计划选项中包含将其关闭的选项,但随后他们将其删除。禁用它的唯一方法是通过注册表。无论如何,这就是为什么这么多人遇到问题的原因。本地计算机-SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Power-HiberbootEnabled-0
Justin Emlay

6

在Windows 7 / Windows Server 2008及更高版本上,此信息显示在任务管理器的“性能”选项卡下。

这样可以比使用命令行更快,并且可以在WMI问题导致无法运行systeminfo的情况下使用。

哪里可以找到uptiem

如果需要远程查找,也可以运行

systeminfo / s服务器名称| 找到“时间:”

从命令行。


在Windows 7 / SP1和2008 / R2上,可以。不在更高级别的操作系统(
8、8.1、10

1
我刚刚测试了Windows 8.1(Pro),2012和2016,这是我必须要做的。这三个都存在。您必须单击“更多详细信息”,然后在“性能”选项卡上查看。
mwfearnley

然后单击性能选项卡中的CPU。刚刚被这个人咬伤了:-)
卡梅伦

虚假信息。我今天早上打开机器,但它说我的正常运行时间已经超过13天。
贾斯汀·艾米

4

以下命令提供了远程系统的上次重新引导时间:

systeminfo /s server_name | find "System Boot Time"

1

如果您有Windows Server 2000或2003资源工具包,请尝试

srvinfo -ns [\\\server] | Findstr "Time"

注意:由于Srvinfo.exe是16位版本,因此将无法在64位版本的Windows上运行。


1

在PowerShell中使用SYSTEMINFO

对于喜欢使用PowerShell的用户,您可以使用上面的答案并包装systeminfoPowerShell函数来获取DateTime服务器上次启动的时间的结果:

function Get-ComputerBootTime {
  param($ComputerName = (hostname))

  $SystemInfo = & systeminfo /s $ComputerName | Select-String "System Boot Time")
  if($SystemInfo -match "[\d/]+,\s+\S+"){
    return (Get-Date $matches[0])
  }
}

然后调用该函数,例如:

[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER

要获取服务器的正常运行时间,请与当前时间进行比较:

[PS]> $UpTime = (Get-Date) - $BootTime

这是一个TimeSpan,其中包括以下属性TotalDays

[PS]> $UpTime.TotalDays
14.1827364

1

有时,其他正常运行时间命令显示的时间不正确,因此我使用此命令来显示 LOGON TIME

query USER

或更短甚至:

quser

打印类似:

C:\Users\eflorinescu>query  USER
 USERNAME                 SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>eflorinescu              console             2  Active    2+23:44  5/7/2018 8:25 AM
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.