web-dev-qa-db-ja.com

Windows 7で起動時間とシャットダウン時間をログに記録するにはどうすればよいですか?

コンピュータの起動とシャットダウンの時間を記録したいのですが。診断情報などは必要ありません。日付と時刻の簡単なメモだけが必要です。何かのようなもの:

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

どうやってやるの?

これまでの私のGoogle検索では、Windowsの起動時間を短縮することについて多くの人が尋ねてきましたが、目前のタスクには何の関心もありませんでした。

18
Will Martin

Windowsは、イベントビューアでイベントログを使用して、次のようなことをログに記録します。

イベントID#6005 システムの起動を示します

イベントID#6006 システムのシャットダウンを示します

イベントビューアーで カスタムビュー を作成する必要があります。これにより、ソースがイベントログである2つのイベントIDがフィルター処理されます。

これが最も簡単な方法です。

または、PowerShellの Get-WinEvent コマンドレットを使用してカスタムフィルターを作成し、それらのアイテムをテキストファイルにパイプすることもできます。

または... Get-EventLog を使用して、カスタムイベントログ(カスタムビューで作成した...)をテキストファイルにパイプ処理できます。

26
yeedl

PowerShellの Get-EventLog を使用すると、次の(長い)ワンライナーが要求された出力をテキストファイルに出力します。

_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コマンドプロンプトを開きます。 WindowRCMDと入力し、 Enter
  2. powershellと入力して、 Enter。 (Windows 10では、PowerShellを直接開くことができます WindowX "Windows PowerShell")を選択します
  3. ワンライナーをクリップボードにコピーします。
  4. ワンライナーに貼り付けます: AltSpace編集貼り付け(Windowsの新しいバージョンでは、通常 CtrlV 実際には CMDウィンドウとPowerShellウィンドウの両方で機能します (どちらもconhost.exeで実行されます)。
  5. 押す Enter
  6. 完了するまで待ちます(特にWindowsの古いインストールの場合は、かなり時間がかかることがあります)。
  7. 結果はファイル_C:\temp2\_ComputerStartsAndStops.log_にあります。
1
Peter Mortensen

6005はログイベントの開始を示していますが、再起動の場合にも表示されると思います。つまり、Windowsは「完全な起動」とウォーム再起動の間に違いはありません。

目的が最初のスタートアップと最後のクローズダウンのみを探すことである場合、二重の6005エントリを削除する必要があります。

私の場合、イベントID 12が最初のイベントで、イベントID 13が最後のイベントです。

12:ソース(Microsoft-Windows-Kernel-General)のイベントID(12)の説明が見つかりませんでした。このイベントを発生させるコンポーネントがコンピューターにインストールされていないか、インストールが破損しています。コンポーネントをインストールまたは修復するか、説明サーバーを変更してみてください。

13:ソース(Microsoft-Windows-Kernel-General)のイベントID(13)の説明が見つかりませんでした。このイベントを発生させるコンポーネントがコンピューターにインストールされていないか、インストールが破損しています。コンポーネントをインストールまたは修復するか、説明サーバーを変更してみてください。

次の情報がイベントに含まれていました(挿入文字列):2012-12-25T18:23:26.070181000Z

PS:それはさておき、私はいくつかの6005がログに記録されたが、それに続く6006は記録されていないインスタンスをいくつか持っています。たとえば、実際のログオフを手動で追加する必要があります。その日の最後のイベントログエントリ。

1
Mike994

特定の用途で時間を使用していない場合は、これが役立つでしょう。 TurnedOnTimesView:Windowsの起動とシャットダウンの時間を監視する

0
Fatty Mieo