回答:
Windowsは、イベントビューアーでイベントログを使用して、次のようなログを記録します。
イベントID#6005はシステムの起動を示します
イベントID#6006はシステムのシャットダウンを示します
イベントビューアーでカスタムビューを作成して、これらの2つのイベントIDをフィルターし、ソースをイベントログにします。
これが最も簡単な方法です。
または、PowerShellのGet-WinEventコマンドレットを使用してカスタムフィルターを作成し、それらのアイテムをテキストファイルにパイプすることもできます。
または... Get-EventLogを使用して、カスタムイベントログ(カスタムビューで作成した...)をテキストファイルにパイプできます。
Event Viewer
、Windows Logs
->をクリックしますSystem
。右側にあるFilter Current Log...
、それをクリックし、新しいウィンドウが表示されたら、挿入6006
してAll Event ID's
をクリックしますOk
。これにより、システムのシャットダウンイベントのみが表示されます。システムの起動にも同じことを行います。
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のインスタンスはいくつかあります。たとえば、その日の最後のイベントログエントリに基づいて、実際のログオフを手動で追加する必要があります。
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
これが機能するには、ディレクトリが存在する必要があります。存在しない場合は、作成するか、別の(既存の)ディレクトリを使用するようにワンライナーを変更します。TimeGenerated.ToString()
」を「TimeGenerated.ToString("s")
」に置き換えます。Sort-Object
」を「Sort-Object -Descending
」に置き換えます。ワンライナーはスクリプトに入れることができますが、それが機能する前にパーミッションを処理する必要があります。代わりに、最も簡単な方法は次のとおりです。
CMD
、を押しEnterます。powershell
を押しEnterます。(Windows 10では、Window+ Xで「Windows PowerShell」を選択するとPowerShellを直接開くことができます)C:\temp2\_ComputerStartsAndStops.log
。特定の用途で時間を使用していない場合、これが役立つ場合があります。 TurnedOnTimesView:Windowsの起動時間とシャットダウン時間を監視します