Windows uptime è una misura che molti amministratori di server utilizzano per risolvere i problemi quotidiani che possono sorgere nell’ambiente. In questo articolo, si sta andando a imparare tutti i modi per controllare Windows Server e Windows 10 uptime. Sei libero di utilizzare in qualsiasi modo è più facile per voi. Utilizzare questo articolo come riferimento futuro.

L’articolo sarà suddiviso in due parti principali; controllare l’uptime del server e trovare l’uptime storico di Windows., La prima parte si concentrerà sulla ricerca di quanto tempo il computer è stato attivo dall’ultimo riavvio. Questo è chiamato uptime “corrente” in questo articolo.

La seconda parte dell’articolo si concentrerà sulla ricerca di uptime “storico” che significa un riavvio su quanto tempo un sistema Windows era attivo tra più riavvii. Utilizzando PowerShell, imparerai come analizzare il registro eventi di Windows per estrarre i numeri di uptime storici.

Sommario

Controllo di Windows Server Uptime

Per iniziare, passiamo ora a diversi modi per trovare l’attuale uptime di Windows.,

Vedrai una dimostrazione del comando in esecuzione localmente su un sistema Windows attraverso questa sezione. Ma sappi che usando PowerShell Remoting, puoi anche eseguire questi controlli da remoto (escluso task manager).

Task Manager

Uno dei modi più semplici e diretti per trovare uptime è quello di aprire semplicemente Task Manager.

Per controllare l’uptime di Windows con Task Manager, fare clic destro sulla barra delle applicazioni di Windows e selezionare Task Manager o premere Ctrl-Shift–Esc. Una volta che Task Manager è aperto, fare clic sulla scheda Prestazioni. Sotto la scheda Prestazioni, si vedrà un’etichetta di Up Time.,

Ricerca di Windows uptime con task manager

Visualizzatore Eventi

Visualizzatore Eventi è molto comunemente usato dalla maggior parte di amministratori di sistema su base regolare, che lo rende una grande opzione per un non-riga di comando relative al metodo di recupero di uptime. ID evento 6005 e 6006 possono essere utilizzati per identificare quando il servizio di registro eventi si avvia o si arresta, che si verifica durante i tempi di avvio/arresto., Segui questi passaggi per identificare i tempi di attività tramite Visualizzatore eventi:

  • Apri il menu Start e cerca semplicemente il visualizzatore eventi, puoi anche accedervi tramite la gestione del computer.,
  • Sulla sinistra, espandere i Registri di Windows e selezionare il Sistema
  • Ora che siamo query solo Sistema di eventi correlati, fare clic su “Filtro Corrente di Registro…” sul lato destro della finestra
  • Nel campo ID Evento (per impostazione predefinita, questo sarà precompilato con scritto “Tutti gli Id Evento”), dobbiamo cercare il nostro applicabile Id di Evento, tipo “6005, 6006”, quindi fare clic su OK

Si può quindi confrontare i due volte per creare un totale di uptime. Inoltre, poiché molte istanze di questi eventi sono memorizzate, possiamo interrogare una cronologia dei tempi di attività!,

Ora hai filtrato i log degli eventi che ti mostreranno non solo l’ultima volta, ma tutte le volte conosciute in cui c’è stato un avvio/arresto.

PowerShell

PowerShell ha diversi modi per recuperare i tempi di attività. È possibile interrogare WMI o utilizzare il registro eventi di Windows.

Quando si interroga WMI, è possibile interrogare la classe Win32_OperatingSystem e selezionare la proprietàLastBootUpTime come mostrato di seguito.

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

Per interrogare il registro eventi tramite PowerShell, utilizzare il cmdletGet-WinEvent., È necessario cercare gli ID evento 6005 o 6006 che indicano l’ultima volta che la macchina è stata avviata.

WMIC

WMIC fornisce un’interfaccia a riga di comando per WMI ed è un metodo provato e vero che è stato utilizzato per molti anni. Per eseguire una query tramite uptime tramite WMIC si interroga nuovamente la classe WMI Win32_OperatingSystem anche se un po ‘ sotto le copertine. Puoi vedere sotto puoi usare la sintassi WMICos get lastbootuptime per restituire l’ultima volta che il server è stato avviato.,

> wmic os get lastbootuptimeLastBootUpTime 20190925213737.500000-240

Non è necessario scaricare nulla per sfruttare WMIC, in quanto viene preinstallato con Windows.

System Information Utility

Il comando systeminfo visualizza informazioni dettagliate sulla configurazione di un computer e può essere utilizzato per interrogare l’uptime del sistema. Utilizzando lo strumento da riga di comando Trova integrato è possibile analizzare il testo per recuperare i dati necessari.

Basta aprire il prompt dei comandi o PowerShell e digitaresysteminfo | find.,

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

Non è necessario scaricare nulla per sfruttaresysteminfo, in quanto viene preinstallato con Windows.

Comando Net Statistics

È anche possibile interrogare rapidamente uptime tramite Net Statistics o più comunemente noto comenet stats. Il comandonet stats restituisce informazioni generali sulla sessione. Potete vedere sotto le statistiche dal… linea. Questa data indica quando la macchina è stata avviata.,

Comando Uptime

Se avete bisogno di una piccola utility portatile per trovare Windows uptime, non guardare oltre il comando Uptime di NeoSmart Technologies per Windows. Questa utility è perfetta per interrogare rapidamente uptime su qualsiasi versione di Windows. Il principale vantaggio di questo strumento è il fattore convenienza. Se vi trovate a utilizzare questo molte volte al giorno si consiglia di prendere in considerazione questo metodo.

Dopo aver scaricato lo strumento, estrarre uptime.exe a % WinDir% \ System32. Quindi apri un prompt dei comandi e digita semplicemente uptime.,

Uptime strumento

Per eseguire questo strumento in remoto, sarebbe necessario prima copiare lo strumento per i sistemi Windows si sta controllando uptime su.

Introducendo lo script Get-ServerUptimeReport

In modo da non dover scrivere il PowerShell da soli, scaricare uno script di comunità chiamato Get-ServerUptimeReport.ps1.

PS51> Install-Script -Name Get-ServerUptimeReport

Questo script consente di fornire un nome del computer come parametro., Analizzerà quindi il registro eventi di sistema del computer e troverà sia un evento di avvio che di arresto per confrontare i due. Restituirà quindi il tempo totale in cui il server era online fino a quando il registro eventi non è stato eseguito.

Di seguito è riportato un esempio di utilizzo di questo script su un server. Restituirà il tempo di attività totale per tutti gli eventi che il server ha nel registro eventi, incluso il tempo di attività corrente.

Trovare il tempo di attività su molti server

Questo script è un modo rapido per trovare il tempo di attività di un singolo server in molti giorni. Ma cosa succede se hai bisogno di queste informazioni per molti server contemporaneamente?, Per fare ciò, è possibile raccogliere un elenco di server e quindi passare ogni nome del computer, uno alla volta, a questo script.

Ad esempio, definire tutti i server in un array nella console PowerShell. In questo esempio, l’array di variabili sarà chiamato $servers.

In realtà, tuttavia, potresti estrarre i nomi dei server da Active Directory, Hyper-V o da un file di testo. Finché puoi costruire una serie di nomi di server, stai bene.

Definire tutti i nomi dei server e quindi scorrere su ciascuno di essi con un ciclo, come mostrato di seguito.,

Questo codice funziona, ma non è possibile determinare a quale server fa riferimento ogni riga. Aggiungi un nome server all’output come di seguito utilizzando una proprietà calcolata.

Ora abbiamo un piccolo strumento eccellente che può fornirci un rapido rapporto sui tempi di attività per i nostri server nel tempo!

Riepilogo

Ora hai visto molti modi diversi per trovare l’uptime di Windows. Indipendentemente dall’opzione scelta, riceverai le stesse informazioni. Scegli il migliore per il tuo contesto.,

E ricorda se hai bisogno di un rapporto storico della cronologia dei tempi di attività, non dimenticare lo script Get-ServerUptimeReport PowerShell!