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


18

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

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

どうやってやるの?

これまでのGoogle検索では、Windowsの起動時間の短縮について多くの人から質問が寄せられましたが、目前のタスクには関心がありません。

回答:


26

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

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

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

イベントビューアーでカスタムビューを作成してこれらの2つのイベントIDをフィルターし、ソースをイベントログにします。

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

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

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


システムのログイン\スリープ時間を知る方法はありますか?
ヴィクトルSehr

それらのページを読んだ後でも、これらのビューを作成する方法がわかりません。しかし、もっと簡単な方法があります。開いてEvent ViewerWindows Logs->をクリックしますSystem。右側にあるFilter Current Log...、それをクリックし、新しいウィンドウが表示されたら、挿入6006してAll Event ID'sをクリックしますOk。これにより、システムのシャットダウンイベントのみが表示されます。システムの起動にも同じことを行います。
machineaddict


1

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

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コマンドプロンプトを開きます:Window+ Rを入力してCMD、を押しEnterます。
  2. 入力してpowershellを押しEnterます。(Windows 10では、Window+ X「Windows PowerShell」を選択するとPowerShellを直接開くことができます)
  3. ワンライナーをクリップボードにコピーします。
  4. ワンライナーに貼り付けます。Alt+ Space編集貼り付け(通常、Windowsの新しいバージョンのCtrl+はV、実際に両方のCMDおよびPowerShellのウィンドウで動作します(今conhost.exeの下で実行両方))。
  5. 押す Enter
  6. 終了するまで待ちます(特にWindowsの古いインストールである場合は、かなり時間がかかることがあります)。
  7. 結果はfileにありますC:\temp2\_ComputerStartsAndStops.log

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.