Answers:
查找“系统启动时间”
天:10小时:10分钟:10秒:10
对于较短的结果,可以使用:
systeminfo | find "Boot Time"
systeminfo /S
* machinename *`|的形式查询远程计算机。找到“正常运行时间”`
Microsoft uptime.exe提供了很棒的命令行工具:
使用此工具的好处是它的运行速度非常快。
正常运行时间[服务器] [/ s] [/ a] [/ d:mm / dd / yyyy | / p:n] [/ heartbeat] [/?| / help]
服务器要处理的远程服务器的名称或IP地址。
/ s显示关键系统事件和统计信息。
/ a显示应用程序故障事件(假设为/ s)。
/ d:仅计算mm / dd / yyyy之后的事件。
/ p:仅计算前n天的事件。
/ heartbeat打开/关闭系统的心跳
/?基本用法。
/ help其他用法信息。
打开命令提示符并键入:
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启动的日期和时间,而不是持续时间。
在Windows 7 / Windows Server 2008及更高版本上,此信息显示在任务管理器的“性能”选项卡下。
这样可以比使用命令行更快,并且可以在WMI问题导致无法运行systeminfo的情况下使用。
如果需要远程查找,也可以运行
systeminfo / s服务器名称| 找到“时间:”
从命令行。
在PowerShell中使用SYSTEMINFO
对于喜欢使用PowerShell的用户,您可以使用上面的答案并包装systeminfo
PowerShell函数来获取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
有时,其他正常运行时间命令显示的时间不正确,因此我使用此命令来显示 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