Jak dowiedzieć się o czasie pracy w systemie Windows?
Jaki jest najprostszy sposób, aby dowiedzieć się, jak długo komputer jest włączony w systemie Windows?
Jaki jest najprostszy sposób, aby dowiedzieć się, jak długo komputer jest włączony w systemie Windows?
istnieje świetne narzędzie wiersza poleceń z Microsoft uptime.exe : http://www.microsoft.com/downloads/details.aspx?FamilyID=BC18FFDB-D6FE-400B-B892-94783AE44C91&displaylang=en
dobra rzecz z tym narzędziem jest to, że działa naprawdę szybko.
Uptime [server] [/s] [/a] [/d:mm/dd/yyyyy | /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: Obliczanie tylko dla zdarzeń po mm/dd/yyyy. /p: Obliczaj tylko dla zdarzeń z poprzednich n dni. /heartbeat Włącz/wyłącz bicie serca systemu /? Użytkowanie podstawowe. /pomoc Dodatkowe informacje dotyczące użytkowania.
Otwórz wiersz poleceń i wpisz:
net stats srv | find "Statistics"
Przykładowe wyjście:
>net stats srv | find "Statistics"
Server Statistics for \4IFS-SANDER
Statistics since 22/07/2009 10:14:14
Źródło MS KB ).
Edit : Faktycznie będzie to informacja o dacie i czasie, od którego pc został uruchomiony, a nie o czasie trwania.
W systemach Windows 7 / Windows Server 2008 i nowszych informacje te są wyświetlane w menedżerze zadań w zakładce “Wydajność”.
Może to być szybsze niż korzystanie z wiersza poleceń i działa w przypadkach, gdy problemy z interfejsem WMI uniemożliwiają uruchomienie systeminfo.
Jeśli musisz znaleźć to zdalnie, możesz również uruchomić
systeminfo /s SERVERNAME | znaleźć “Time:”
z wiersza poleceń.
Użycie SYSTEMINFO z PowerShell
Dla tych, którzy lubią używać PowerShell'a, możesz użyć odpowiedzi powyżej i owinąć systeminfo
w funkcję PowerShell'a, aby uzyskać wynik DateTime
na temat tego, kiedy serwer był ostatnio uruchomiony :
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])
}
}
A następnie wywołać funkcję, na przykład:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
Aby uzyskać Czas pracy dla serwera, porównaj z aktualnym czasem:
[PS]> $UpTime = (Get-Date) - $BootTime
Jest to TimeSpan
, który zawiera takie właściwości jak TotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
Czasami druga komenda uptime wyświetla czas, który nie jest prawidłowy, więc używam tej komendy do wyświetlenia LOGON TIME
query USER
lub krótszy nawet:
quser
który drukuje coś w rodzaju:
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