Як дізнатися, як часто Windows Seven перезавантажується?


18

Де в системі чи реєстрі слід шукати дані про кількість перезавантажень Windows? Я хочу створити додаток, який використовує цю інформацію (скільки разів Windows перезавантажувався після процесу OOBE *) для реалізації певної функції.

Я впевнений, що Microsoft, можливо, десь реалізував це. Я думаю про ключ реєстру чи щось подібне.

* OOBE - досвід роботи поза коробкою, це процес, який відбувається при першому завантаженні системи Windows та налаштуванні імен користувачів, пароля та комп'ютера.


Завдяки ретельному ознайомленню з журналами подій ви можете це зрозуміти, але я не думаю, що це насправді десь записано… Хм. Сподіваюся, я помиляюся!
Сінрай

Відповіді:


17

Кожен запуск та вимкнення записується в Журнали подій. Відкрийте програму перегляду подій та перейдіть до розділу Системні журнали. Якщо ви фільтруєте ці записи (Використовуйте Filter Current Logкнопку праворуч) за номерами подій 12 та 13, вам слід просто отримати сповіщення про події, коли система вимикається та запускається.

Ідентифікатор події 12 - це система, що запускається, ідентифікатор події 13 - це система, яка вимикається. Він також забезпечує точний час, коли подія була зареєстрована в самій події.

Ви можете отримати вашу заявку для підрахунку кількості подій з ідентифікатором події 12, який повинен дати вам те, що ви хочете.


5
Добре подумайте, але є застереження: журнали подій можуть бути очищені користувачем, і вони обмежені максимальним розміром, тому не обов'язково повідомляти про загальну кількість перезавантажень, особливо якщо це стара установка.
rmart

@rmart Я не знаю, чи пересічний користувач очистить журнали подій, але вони обидва справедливі. Я думаю, що використання даних SMART, як згадувалося вище, мабуть, кращий спосіб, але це не обходиться і з цим.
Connor W

12

Я знайшов відповідь.

Знайти:

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

Значення в десятковій частині, яке ви побачите, - це кількість разів перезавантажена система.


576 разів, дуже цікаве запитання та відповідь. +1 від мене.
Джо Тейлор

7

Ось ще один спосіб: SMART

Переважна більшість жорстких дисків сьогодні зберігає SMART інформацію. Є дві деталі інформації, яка може вас зацікавити: 04 Початок / зупинка підрахунку 12 Кількість енергетичних циклів

Перегляньте статтю wikipedia на SMART та, можливо, документацію smartmontools.

smartmontools - це проект з відкритим кодом, який може запитувати ці дані в CLI, або існують інші програми, які можуть отримати ці дані за допомогою різних графічних інтерфейсів: Список Вікіпедії SMART-інструментів


Я думаю, що це, мабуть, більш надійний метод, ніж використання переглядача подій, але він також має застереження. Якщо накопичувач не знаходився в одному комп’ютері з першого дня, не змінюючи і не використовуючи в іншому місці, ви не отримаєте точних результатів. Крім того, я думаю, що старші накопичувачі не повністю підтримують S..MART, тому ви можете знайти деякі диски, які записують інформацію про цикл живлення, а інші - не.
Connor W

@Connor W: Я здогадувався, що подібні жорсткі диски, які не записують інформацію SMART, навряд чи будуть у машині, достатньо потужній для роботи з Windows 7, але так, ви абсолютно праві, що це не може бути покладався на. Так само, як глядач подій ....
camster342

А що робити, якщо користувач використовує режим очікування або жорсткий диск вимикається через неактивність?
sinni800

@Sinni: Ось у чому різниця між кодом 04 та кодом 12. 04 - це загальне відключення жорсткого диска, яке включає режими очікування та збереження енергії. 12 - це місце, коли жорсткий диск повністю втрачає живлення - від вимкнення ПК або переходу в сплячий режим.
camster342

2

Ознайомтеся з диспетчером надійності в Windows 7


3
Це насправді не говорить вам, коли комп'ютер завантажився або вимкнувся, хоча.
Connor W

1

Я написав два короткі сценарії, які можуть рахувати кількість увімкнених комп'ютерів.

На жаль, не існує журналу подій, спеціально для перезавантаження, лише тоді, коли Windows запускається та вимикається.

Цей скрипт здійснює пошук у журналі подій, event 12який реєструється під час запуску Windows. Потім він говорить вам, скільки разів він підрахував.

Сценарій VBS: Підрахунок кількості включень комп’ютера

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 

Джерело VBS Сценарій - Підрахунок Кількість включень комп’ютера


Якщо це ваш веб-сайт, на який ви посилаєтесь (ті посилання, які ви нещодавно оновили), зауважте, що ви повинні розкрити свою приналежність до нього. Дивіться superuser.com/help/behavior
slhck

@slhck - так, я посилаюсь на свій особистий блог. Я не знав цих правил. Чи є стандартний рядок, який я повинен використовувати, щоб зрозуміти, що я посилаюсь на вміст, який також є в моєму особистому блозі? Я відповів на всі відповіді давно, коли встиг змінити доменні імена та хочу оновити посилання до закінчення терміну дії домену. Я веду свій особистий блог, щоб записати речі, які мені потрібно запам’ятати, та поділитися знаннями, отже, крос-повідомлення між суперпопулярними.
ovann86

1
Будь ласка, будьте явні і скажіть "мій блог" чи щось таке. Поки ви переконаєтесь, що фактичні відповіді містяться тут, і людям не потрібно залишати сайт, щоб отримати рішення, це добре. Додавання посилань для деталей завжди нормально.
slhck
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.