Як зафіксувати час запуску та завершення роботи в Windows 7?


18

Я хотів би записати час, коли мій комп'ютер запускається та вимикається. Мені не потрібна діагностична інформація чи що-небудь, просто проста примітка про дату та час, наприклад щось таке:

2011/04/29 08:17:34 AM Startup
2011/04/29 05:26:52 PM Shutdown

Як я можу це зробити?

Поки що мої пошуки в Google дали багатьом людям запитання про скорочення часу запуску Windows, але нічого цікавого для цієї задачі.

Відповіді:


26

Windows використовує журнали подій за допомогою засобу перегляду подій для реєстрації подібних речей:

Ідентифікатор події № 6005 вказує на запуск системи

Ідентифікатор події № 6006 вказує на вимкнення системи

Слід створити спеціальний перегляд у переглядачі подій, який буде фільтрувати ці два ідентифікатори події, джерелом якого є журнал подій.

Це найпростіший спосіб.

Крім того, ви можете використовувати командлет Get-WinEvent PowerShell для створення спеціального фільтра та передавання цих елементів у текстовий файл.

Або ... ви можете використовувати Get-EventLog для передачі в текстовий файл спеціального журналу подій (який ви створюєте за допомогою спеціальних представлень ...).


Чи є спосіб дізнатися вхід у систему \ час сну?
Віктор Шер

У мене немає поняття, як створити ці погляди, навіть після того, як я прочитав ці сторінки. Але, є простіший спосіб. Відкрийте Event Viewer, натисніть Windows Logs-> System. На правій стороні є Filter Current Log..., натисніть на нього , і коли з'явиться нове вікно вставки 6006на All Event ID'sі натисніть кнопку Ok. Це покаже лише події відключення системи. Зробіть те ж саме для запуску системи.
машинобудівний вирок

корисні речі ...
Фернандо Еспіноса

1

6005 показує початок реєстрації подій, але я припускаю, що він з’явиться і в разі будь-яких перезавантажень, тобто Windows не робить різниці між «повним запуском» або теплим перезавантаженням.

Якщо метою є пошук лише першого запуску та останнього закритого власного будинку, потрібно видалити будь-які подвійні записи 6005.

У мене ідентифікатор події 12 є самим першим, а ідентифікатор події 13 - останнім.

12: Опис ідентифікатора події (12) у Source (Microsoft-Windows-Kernel-General) не вдалося знайти. Або компонент, який викликає цю подію, не встановлений на комп'ютері, або установка пошкоджена. Ви можете встановити або відремонтувати компонент або спробувати змінити Сервер опису.

13: Опис ідентифікатора події (13) у Source (Microsoft-Windows-Kernel-General) не вдалося знайти. Або компонент, який викликає цю подію, не встановлений на комп'ютері, або установка пошкоджена. Ви можете встановити або відремонтувати компонент або спробувати змінити Сервер опису.

Наступна інформація була включена до події (рядки вставки): 2012-12-25T18: 23: 26.070181000Z

PS: Окрім цього, у мене є ряд випадків, коли було зареєстровано кілька 6005, але немає 6006, що випливає. Необхідно вручну додати фактичну реєстрацію на основі, наприклад, останнього запису журналу подій того дня.


1

Використовуючи Get-EventLog PowerShell, наступний (довгий) один вкладиш виведе потрібний вихід у текстовий файл:

Get-EventLog -LogName System | Where-Object {(($_.EventID -eq 6005) -or ($_.EventID -eq 6006)) -and ($_.TimeGenerated -gt [DateTime] "2017-05-01")} | Select-Object EventID, TimeGenerated, Message | Sort-Object -Property TimeGenerated | Foreach { if ($_.EventID -eq 6005) { $out = "Startup"  } else { $out = "Shutdown" + "`r`n"}  ($_.TimeGenerated.ToString() + '  ' + $out); } > C:\temp2\_ComputerStartsAndStops.log

Примітки

  • Каталог C:\temp2повинен існувати для цього. Якщо його не існує, створіть його або змініть однокласність, щоб використовувати інший (існуючий) каталог.
  • Щоб отримати вихід у форматі ISO 8601 , замініть " TimeGenerated.ToString()" на " TimeGenerated.ToString("s")".
  • В вкладиші є вбудований фільтр часу (включаючи лише старт та вимкнення після 2017-05-01). Змініть "2017-05-01" на щось інше, якщо потрібні старіші запуски та вимкнення.
  • Якщо вихід потрібен у зворотному хронологічному порядку, то замініть " Sort-Object" на " Sort-Object -Descending".
  • Оскільки він використовує Get-EventLog, він також працюватиме на старих версіях Windows.

Інструкція

Однолінійний вміст може бути розміщений у сценарії, але тоді слід потурбуватися про дозвіл, перш ніж він працює. Натомість найпростіший спосіб - це:

  1. Відкрийте командний рядок Windows: Window+ R, введіть CMDта натисніть Enter.
  2. Введіть powershellі натисніть Enter. (У Windows 10 PowerShell можна відкрити безпосередньо клавішею Window+ Xта обравши "Windows PowerShell" )
  3. Скопіюйте однокласинку в буфер обміну.
  4. Вставити в одне вкладиш: Alt+ SpaceРедагуватиВставити (у нових версіях Windows, нормальний Ctrl+ Vнасправді працює як у вікнах CMD, так і в PowerShell (обидва зараз працюють під conhost.exe)).
  5. Натисніть Enter
  6. Зачекайте, поки воно закінчиться (це може зайняти досить тривалий час, особливо якщо це стара установка Windows).
  7. Результат можна знайти у файлі C:\temp2\_ComputerStartsAndStops.log.

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