Windows uptime är en mätning som många serveradministratörer använder för att felsöka dagliga problem som kan uppstå i miljön. I den här artikeln kommer du att lära dig alla sätt att kontrollera Windows Server och Windows 10 upptid. Du är fri att använda vilket sätt som är lättast för dig. Använd den här artikeln som en framtida referens.

artikeln kommer att delas upp i två huvuddelar; kontrollera server upptid och hitta Historiska Windows upptid., Den första delen kommer att fokusera på att hitta hur mycket tid datorn har varit upp sedan den senaste omstart. Detta kallas ”nuvarande” upptid i den här artikeln.

den andra delen av artikeln kommer att fokusera på att hitta ”Historiska” upptid vilket innebär en omstart på hur länge ett Windows-system var upp mellan flera omstarter. Med PowerShell lär du dig hur du analyserar Windows händelseloggen för att dra historiska upptidsnummer.

Innehållsförteckning

Kontrollera Windows Server drifttid

för att komma igång, låt oss nu hoppa in i några olika sätt att hitta den aktuella Windows drifttid.,

Du kommer att se en demonstration av att köra kommandot lokalt på ett Windows-system genom det här avsnittet. Men vet att genom att använda PowerShell Remoting kan du också utföra dessa kontroller på distans (exklusive Aktivitetshanteraren).

Aktivitetshanteraren

ett av de enklaste och enklaste sätten att hitta upptid är att helt enkelt öppna Aktivitetshanteraren.

för att kontrollera Windows upptid med Aktivitetshanteraren, Högerklicka på aktivitetsfältet i Windows och välj Aktivitetshanteraren eller tryck Ctrl-Shift-Esc. När Aktivitetshanteraren är öppen klickar du på fliken Prestanda. Under fliken Prestanda ser du en etikett på upptid.,

hitta Windows upptid med Aktivitetshanteraren

Event Viewer

Event Viewer används ofta av de flesta sysadmins på regelbunden basis, vilket gör det till ett bra alternativ för en icke-kommandorad relaterad metod för att hämta upptid. Händelse-ID 6005 och 6006 kan användas för att identifiera när händelseloggen tjänsten startar eller stannar, vilket inträffar under start/avstängning gånger., Följ dessa steg för att identifiera upptid via Event Viewer:

  • ta upp Start-menyn och helt enkelt söka efter Event Viewer, du kan också komma till det via Datorhantering.,
  • till vänster, expandera avsnittet Windows loggar och välj System
  • nu när vi frågar endast systemrelaterade händelser, klicka på ”filtrera aktuell logg…” på höger sida av ditt fönster
  • i fältet Händelse-ID (som standard kommer det att vara förfylld med text som anger ”alla Händelse-ID”) vi måste söka efter våra tillämpliga Händelse-ID, skriv ”6005, 6006” och klicka sedan på OK

Du kan sedan jämföra de två gånger för att skapa en total upptid. Också, eftersom många instanser av dessa händelse s lagras, vi kan fråga en historia av uptimes!,

Du har nu filtrerat händelseloggar som visar dig inte bara förra gången, men alla kända tider där det har varit en uppstart / avstängning.

PowerShell

PowerShell har några olika sätt du kan hämta upptid. Du kan antingen fråga WMI eller använda Windows händelseloggen.

När du frågar WMI kan du fråga win32_operatingsystem-klassen och välja egenskapen LastBootUpTime som visas nedan.

PS51> Get-CimInstance Win32_OperatingSystem | Select-Object LastBootUpTimeLastBootUpTime -------------- 9/25/2019 9:37:37 PM

för att fråga händelseloggen via PowerShell, användGet-WinEvent cmdlet., Du måste söka efter händelse-ID 6005 eller 6006 som indikerar sista gången maskinen startades.

WMIC

WMIC tillhandahåller ett kommandoradsgränssnitt för WMI och är en beprövad metod som har använts i många år. För att fråga via upptid via WMIC frågar du win32_operatingsystem WMI-klassen igen, även om det är lite under täcken. Du kan se nedan kan du använda wmic syntax os get lastbootuptime för att returnera sista gången servern startades.,

> wmic os get lastbootuptimeLastBootUpTime 20190925213737.500000-240

du behöver inte ladda ner något för att utnyttja WMIC, eftersom det kommer förinstallerat med Windows.

System Information Utility

kommandot systeminfo visar detaljerad konfigurationsinformation om en dator och kan användas för att fråga system upptid. Genom att använda den inbyggda hitta kommandoradsverktyget kan du tolka texten för att hämta de data du behöver.

öppna helt enkelt antingen Kommandotolken eller PowerShell och skrivsysteminfo | find.,

> systeminfo | find "System Boot Time:"System Boot Time: 9/25/2019, 9:37:37 PM

du behöver inte ladda ner något för att utnyttjasysteminfo, eftersom det kommer förinstallerat med Windows.

Net Statistics Command

Du kan också snabbt fråga upptid via Net Statistics eller mer allmänt känd somnet stats. Kommandotnet stats returnerar allmän information om din session. Du kan se under statistiken sedan … linje. Detta datum anger när maskinen startades.,

uptime Command

om du behöver ett litet, bärbart verktyg för att hitta Windows uptime, leta längre än NeoSmart Technologies’ Uptime command för Windows. Detta verktyg är perfekt för att snabbt fråga upptid på alla Windows-version. Den största fördelen med detta verktyg är bekvämlighetsfaktorn. Om du befinner dig med detta många gånger per dag kanske du vill överväga denna metod.

Efter att ha laddat ner verktyget, extrahera upptid.exe till %WinDir%\System32. Öppna sedan en kommandotolk och skriv bara uptime.,

upptid verktyg

för att köra det här verktyget på distans, måste du först kopiera verktyget till Windows-system som du kontrollerar upptiden på.

introducerar skriptet Get-ServerUptimeReport

så att du inte behöver skriva PowerShell själv, ladda ner ett diskussionsgruppskript som heter Get-ServerUptimeReport.ps1.

PS51> Install-Script -Name Get-ServerUptimeReport

med det här skriptet kan du ange ett datornamn som parameter., Det kommer då att tolka systemhändelseloggen på datorn och hitta både en start-och stopphändelse för att jämföra de två. Det kommer då att returnera den totala tiden servern var online tills händelseloggen har rullat.

nedan är ett exempel på att använda det här skriptet på en server. Det kommer att returnera den totala upptiden för alla händelser som servern har i händelseloggen, inklusive den aktuella upptiden.

hitta upptid på många servrar

det här skriptet är ett snabbt sätt att hitta upptiden för en enda server över många dagar. Men vad händer om du behöver denna information för massor av servrar på en gång?, För att göra detta kan du samla upp en lista med servrar och sedan skicka varje datornamn, en i taget, till det här skriptet.

som ett exempel definierar du alla dina servrar i en array i PowerShell-konsolen. I det här exemplet kommer variabelmatrisen att kallas $servers.

i verkligheten kan du dock dra servernamn från Active Directory, Hyper-V eller en textfil. Så länge du kan bygga en rad servernamn, du är bra.

definiera alla servernamn och sedan iterera över var och en med en slinga, som visas nedan.,

den här koden fungerar, men du kan inte avgöra vilken server varje rad referenser. Lägg till ett servernamn till utdata som nedan med hjälp av en beräknad egenskap.

Vi har nu ett utmärkt litet verktyg som kan ge oss en snabb rapport om drifttid för våra servrar över tiden!

sammanfattning

Du har nu sett många olika sätt att hitta Windows upptid. Oavsett vilket alternativ du väljer får du samma information. Välj den bästa för ditt eget sammanhang.,

och kom ihåg om du behöver en historisk rapport om upptid historia, glöm inte Get-ServerUptimeReport PowerShell script!