18

Где в системе или реестре искать данные о том, сколько раз Windows перезагружалась? Я хочу создать приложение, которое использует эту информацию (сколько раз Windows перезагружалась после процесса OOBE *) для реализации определенной функции.

Я уверен, что Microsoft, возможно, где-то это реализовала. Я думаю о ключе реестра или что-то вроде этого.

* OOBE - Out Of Box Experience - это процесс, который происходит, когда вы впервые загружаете Windows и настраиваете имя пользователя, пароль и имена компьютеров.

5 ответов5

17

Каждый запуск и останов регистрируются в журналах событий. Откройте «Просмотр событий» и перейдите в раздел «Системные журналы». Если вы отфильтруете эти записи (используйте кнопку « Filter Current Log справа) по номерам событий 12 и 13, вы должны просто получать события, уведомляющие, когда система выключается и запускается.

Событие ID 12 - запуск системы, событие 13 - выключение системы. Он также предоставляет точное время, когда событие было зарегистрировано в самом событии.

Вы можете заставить свое приложение подсчитывать количество событий с помощью Event ID 12, который должен дать вам то, что вы хотите.

11

Я нашел ответ.

Найти над:

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

Значение в десятичном формате, которое вы увидите, - это количество раз, которое ваша система уже перезагружала.

7

Вот еще один способ: SMART

Подавляющее большинство жестких дисков в наши дни хранят информацию SMART. Вас могут заинтересовать две части информации:04 Start/Stop Count 12 Power Cycle Count

Проверьте статью в Википедии о SMART и, возможно, документацию по smartmontools.

smartmontools - это проект с открытым исходным кодом, который может запрашивать эти данные в CLI, или существуют другие программы, которые могут получать эти данные с помощью различных графических интерфейсов: Список инструментов SMART в Википедии

2

Проверьте Диспетчер надежности в Windows 7

1

Я написал два коротких сценария, которые могут подсчитать количество включений компьютера.

К сожалению, нет журнала событий, предназначенного специально для перезагрузок, только для случаев, когда Windows запускается и выключается.

Этот скрипт ищет в журнале event 12 которое регистрируется при запуске Windows. Затем он говорит вам, сколько раз он насчитал.

VBS Script: подсчитать, сколько раз компьютер включался

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: удаленно подсчитайте, сколько раз компьютер включался:

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 

Source VBS Script - Count Количество раз, когда компьютер включался

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .