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?
Odpowiedzi:
Znajdź „Czas rozruchu systemu”
Dni: 10 godzin: 10 minut: 10 sekund: 10
Aby uzyskać krótszy wynik, możesz użyć:
systeminfo | find "Boot Time"
systeminfo /S
* machinename * `| znajdź „Up Time”
istnieje świetne narzędzie wiersza polecenia z Microsoft uptime.exe :
dobrą rzeczą w tym narzędziu jest to, że działa naprawdę szybko.
Czas działania [serwer] [/ s] [/ a] [/ d: mm / dd / rrrr | / p: n] [/ heartbeat] [/? | / help]
server Nazwa lub adres IP zdalnego serwera do przetworzenia.
/ s Wyświetla kluczowe zdarzenia systemowe i statystyki.
/ a Wyświetl zdarzenia awarii aplikacji (zakłada / s).
/ d: obliczaj tylko dla zdarzeń po mm / dd / rrrr.
/ p: obliczaj tylko dla zdarzeń z poprzednich n dni.
/ bicie serca Włącz / wyłącz bicie serca systemu
/? Podstawowe użycie.
/ help Dodatkowe informacje o użytkowaniu.
Otwórz wiersz polecenia i wpisz:
net stats srv | find "Statistics"
Przykładowe dane wyjściowe:
>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14
Źródło ( MS KB ).
Edycja : W rzeczywistości poda datę i godzinę, kiedy komputer był włączony, a nie czas trwania.
W systemie Windows 7 / Windows Server 2008 i nowszych informacje te są wyświetlane w menedżerze zadań na karcie „Wydajność”.
Może to być szybsze niż użycie wiersza polecenia i działa w przypadkach, w których możesz mieć problemy z WMI uniemożliwiające uruchomienie systeminfo.
Jeśli potrzebujesz znaleźć to zdalnie, możesz także uruchomić
systeminfo / s NAZWA SERWERA | znaleźć czas:"
z linii poleceń.
Używanie SYSTEMINFO z PowerShell
Dla tych, którzy lubią używać programu PowerShell, możesz użyć powyższych odpowiedzi i zawinąć systeminfo
funkcję PowerShell, aby uzyskać DateTime
wynik po ostatnim uruchomieniu serwera :
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łaj funkcję, na przykład:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
Aby uzyskać Uptime serwera, należy porównać z obecnym czasie:
[PS]> $UpTime = (Get-Date) - $BootTime
To TimeSpan
obejmuje właściwości takie jak TotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
Czasami inne polecenie czasu pracy wyświetla niepoprawny czas, więc używam tego polecenia do wyświetlenia LOGON TIME
query USER
lub krócej nawet:
quser
która drukuje coś takiego:
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