Как узнать, как часто Windows Seven перезагружается?

12094
Diogo

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

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

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

18
Благодаря тщательному изучению журналов событий вы можете это выяснить, но я не думаю, что они на самом деле записаны именно где-то ... хм. Надеюсь, я ошибаюсь! Shinrai 12 лет назад 0

5 ответов на вопрос

17
Connor W

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

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

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

Хорошая мысль, но есть предостережения: журналы событий могут быть очищены пользователем, и они ограничены максимальным размером, поэтому он не обязательно сообщит об общем количестве перезапусков, особенно если это старая установка. rmart 12 лет назад 5
@ rmart Я не знаю, будет ли обычный пользователь вычищать журналы событий, но они оба справедливы. Я думаю, что использование SMART-данных, как упомянуто выше, возможно, лучший способ, но это не без предостережений. Connor W 12 лет назад 0
11
Diogo

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

Найти над:

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

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

576 раз, очень интересный вопрос и ответ. +1 от меня. Joe Taylor 12 лет назад 0
7
camster342

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

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

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

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

Я думаю, что это, вероятно, более надежный метод, чем использование Event Viewer, но он также имеет свои предостережения. Если диск не находился в одном компьютере с первого дня, не был заменен или использован в другом месте, вы не получите точных результатов. Кроме того, я думаю, что старые диски не полностью поддерживают S..MART, поэтому вы можете найти некоторые диски, которые записывают информацию о цикле включения питания, а другие - нет. Connor W 12 лет назад 0
@ Connor W: Я предполагал, что жесткие диски, которые не записывают информацию SMART, вряд ли будут находиться на машине, достаточно мощной для запуска Windows 7, но да, вы совершенно правы, что это невозможно положился на. Так же, как просмотрщик событий .... camster342 12 лет назад 0
А что делать, если пользователь использует режим ожидания или жесткий диск отключается из-за неактивности? sinni800 12 лет назад 0
@Sinni: Вот в чем разница между кодом 04 и 12. 04 - это суммарное ускорение жесткого диска, которое включает режимы ожидания и энергосбережения. 12 - это место, где жесткий диск полностью отключается от ПК. Выключение или переход в спящий режим. camster342 12 лет назад 0
2
uSlackr

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

Это на самом деле не говорит вам, когда компьютер загрузился или выключился. Connor W 12 лет назад 3
1
ovann86

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

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

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

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

count = 0 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "!\\" & 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:" _ & "!\\" & 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 Количество раз, когда компьютер включался

Если это ваш веб-сайт, на который вы ссылаетесь (те ссылки, которые вы только что обновили), учтите, что вы должны сообщить о своей принадлежности к нему. Смотрите http://superuser.com/help/behavior slhck 9 лет назад 0
@slhck - да, я ссылаюсь на свой личный блог. Я не знал об этих правилах. Есть ли стандартная строка, которую я должен использовать, чтобы было ясно, что я ссылаюсь на контент, который также есть в моем личном блоге? Я отправил все ответы давно, когда у меня было время, я меняю доменные имена и хочу обновить ссылки до истечения срока действия домена. Я веду свой личный блог, чтобы записывать вещи, которые мне нужно запомнить, и делиться знаниями, отсюда перекрестная публикация между суперпользователем. ovann86 9 лет назад 0
Пожалуйста, будьте откровенны и скажите «мой блог» или что-то в этом роде Пока вы уверены, что фактические ответы содержатся здесь, и люди не * должны * покинуть сайт, чтобы найти решение, это нормально. Добавление ссылок для деталей всегда хорошо. slhck 9 лет назад 1