Come scoprire con quale frequenza è stato riavviato Windows Seven?


18

In quale sistema o registro dovrei cercare i dati su quante volte è stato riavviato Windows? Voglio creare un'applicazione che utilizza queste informazioni (quante volte Windows si è riavviato dal processo OOBE *) per implementare una funzionalità specifica.

Sono sicuro che Microsoft potrebbe averlo implementato da qualche parte. Sto pensando a una chiave di registro o qualcosa del genere.

* OOBE - Out Of Box Experience, questo è il processo che si verifica quando si avvia Windows per la prima volta e si impostano i nomi utente, password e computer.


Attraverso un'attenta lettura dei registri degli eventi, puoi capirlo, ma non penso che sia effettivamente registrato in qualche luogo ... hmm. Spero di sbagliarmi!
Shinrai,

Risposte:


17

Ogni avvio e arresto è registrato nei registri eventi. Apri il Visualizzatore eventi e vai alla sezione Registri di sistema. Se si filtrano questi record (utilizzare il Filter Current Logpulsante a destra) in base ai numeri di evento 12 e 13, si dovrebbe semplicemente ricevere gli eventi che avvisano quando il sistema si sta spegnendo e si avvia.

ID evento 12 è l'avvio del sistema, ID evento 13 è l'arresto del sistema. Fornisce inoltre l'ora esatta in cui l'evento è stato registrato nell'evento stesso.

È possibile convincere la propria applicazione a contare il numero di eventi con ID evento 12, che dovrebbe fornire ciò che si desidera.


5
Buona idea, ma ci sono avvertenze: i log degli eventi possono essere cancellati da un utente e sono limitati a una dimensione massima, quindi non necessariamente riporterà la quantità totale di riavvii, specialmente se si tratta di una vecchia installazione.
rmart,

@rmart Non so se l'utente medio avrebbe ripulito i log degli eventi, ma sono entrambi punti giusti. Penso che usare i dati SMART come menzionato sopra sia probabilmente un modo migliore, ma neanche quello è privo di avvertimenti.
Connor W,

12

Ho trovato la risposta

Trova oltre:

"HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\BootId" 

Il valore, in decimale, che vedrai è il numero di volte in cui il tuo sistema è già stato riavviato.


576 volte, una domanda e una risposta molto interessanti. +1 da me.
Joe Taylor,

7

Ecco un altro modo: SMART

La stragrande maggioranza dei dischi rigidi in questi giorni memorizza informazioni SMART. Potresti essere interessato a due informazioni: 04 Conteggio avvio / arresto 12 Conteggio ciclo di potenza

Dai un'occhiata all'articolo di Wikipedia su SMART e possibilmente alla documentazione di smartmontools.

smartmontools è un progetto open source che può interrogare questi dati in una CLI, o ci sono altri programmi in giro che possono ottenere questi dati con varie GUI: elenco Wikipedia di strumenti SMART


Penso che questo sia probabilmente un metodo più affidabile rispetto all'utilizzo del Visualizzatore eventi, ma ha anche i suoi avvertimenti. A meno che l'unità non sia stata sullo stesso computer dal primo giorno, senza essere cambiata o utilizzata altrove, non si otterranno risultati accurati. Inoltre, penso che le unità più vecchie non supportino completamente S..MART, quindi potresti trovare alcune unità che registrano le informazioni sul ciclo di alimentazione e altre che non lo fanno.
Connor W,

@Connor W: Stavo supponendo che il tipo di hard disk che non registrava le informazioni SMART era piuttosto improbabile che si trovasse in una macchina abbastanza potente per eseguire Windows 7, ma sì, hai perfettamente ragione che non può essere invocato. Proprio come il visualizzatore di eventi ....
camster342

Inoltre, se l'utente utilizza la modalità standby o il disco rigido si spegne a causa di inattività?
sinni800,

@Sinni: ecco qual è la differenza tra il codice 04 e il codice 12. 04 è un totale di spin-up del disco rigido che includerebbe standbys e modalità di risparmio energetico. 12 è il punto in cui il disco rigido perde completamente energia, dal PC Spegnimento o ibernazione.
Camster342,

2

Dai un'occhiata a Reliability Manager in Windows 7


3
Questo non ti dice davvero quando il computer si è avviato o spento.
Connor W,

1

Ho scritto due brevi script che possono contare il numero di volte che un computer si è acceso.

Sfortunatamente non esiste un registro eventi specifico per i riavvii, solo per l'avvio e l'arresto di Windows.

Questo script cerca nel registro eventi per event 12cui viene registrato all'avvio di Windows. Ti dice quindi quante volte ha contato.

VBS Script: conta il numero di volte in cui il computer è acceso

count = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'System'" _
& " and EventCode = '12'")
For Each objEvent in colLoggedEvents
count = count + 1
Next
wscript.echo "Number of times operating system has started:   " & count

VBS Script: conta da remoto il numero di volte in cui il computer si è acceso:

count = 0
strComputer=InputBox ("Enter the network name for the remote computer")
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where Logfile = 'System'" _
& " and EventCode = '12'")
For Each objEvent in colLoggedEvents
count = count + 1
Next
wscript.echo "Number of times operating system has started:   " & count 

Script VBS di origine : conteggio Numero di volte in cui il computer è stato acceso


Se questo è il tuo sito web a cui stai collegando (quei link che hai appena aggiornato), tieni presente che devi rivelare la tua affiliazione con esso. Vedi superuser.com/help/behavior
slhck

@slhck - sì, mi riferisco al mio blog personale. Non ero a conoscenza di quelle regole. Esiste una linea standard che dovrei usare per chiarire che sto facendo riferimento a contenuti che sono anche sul mio blog personale? Ho pubblicato tutte le risposte molto tempo fa, quando avevo tempo, sto cambiando i nomi di dominio e voglio aggiornare i collegamenti prima della scadenza del dominio. Gestisco il mio blog personale per registrare le cose che devo ricordare e condividere le conoscenze, da cui il post tra i superutente.
ovann86,

1
Si prega di essere espliciti e dire "il mio blog" o qualcosa del genere. Finché ti assicuri che le risposte effettive siano contenute qui e le persone non debbano lasciare il sito per ottenere una soluzione, va bene. L'aggiunta di collegamenti per i dettagli è sempre ok.
slhck,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.