Eu encontrei a resposta.
Encontrar:
"HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\BootId"
O valor, em decimal, que você verá é o número de vezes que seu sistema já foi reinicializado.
Onde no sistema ou registro devo procurar dados sobre quantas vezes o Windows foi reinicializado? Eu quero criar um aplicativo que usa essas informações (quantas vezes o Windows foi reinicializado desde o processo OOBE *) para implementar um recurso específico.
Tenho certeza de que a Microsoft pode ter implementado isso em algum lugar. Estou pensando em uma chave de registro ou algo assim.
* OOBE - Out Of Box Experience, este é o processo que acontece quando você inicializa o Windows pela primeira vez e configura os nomes de usuário, senha e computador.
Cada inicialização e desligamento é registrado nos logs de eventos. Abra o Visualizador de Eventos e vá para a seção Logs do sistema. Se você filtrar esses registros (use o botão Filter Current Log
à direita) pelos números de evento 12 e 13, você deve apenas obter os eventos que notificam quando o sistema está sendo desligado e inicializado.
A ID do evento 12 é a inicialização do sistema, a ID do evento 13 é o encerramento do sistema. Também fornece o horário exato em que o evento foi registrado no próprio evento.
Você pode fazer com que seu aplicativo conte o número de eventos com a ID de evento 12, que deve fornecer o que você deseja.
Aqui está outro jeito: S.M.A.R.T
A grande maioria dos discos rígidos atualmente armazena informações da SMART. Existem duas informações que você pode interessar: 04 contagem de início / parada 12 Contagem de Ciclo de Potência
Confira o artigo da wikipedia em S.M.A.R.T e possivelmente a documentação de smartmontools.
smartmontools é um projeto de código aberto que pode consultar esses dados em uma CLI, ou há outros programas em volta que podem obter esses dados com várias GUIs: Wikipedia list of SMART tools
Confira o Gerenciador de confiabilidade no Windows 7
Escrevi dois scripts curtos que podem contar o número de vezes que um computador foi ligado.
Infelizmente, não há um log de eventos especificamente para reinicializações, apenas para quando o Windows é inicializado e desligado.
Esse script pesquisa o log de eventos por event 12
, que é registrado quando o Windows é iniciado. Em seguida, informa quantas vezes foi contado.
Script VBS: conta o número de vezes que o computador foi ligado
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
Script VBS: conta remotamente o número de vezes que o computador foi ligado:
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
Fonte VBS Script - Contar Número de vezes o computador ligou
Tags boot windows-7 session-manager