質問: windows 7で起動時間とシャットダウン時間をログに記録するにはどうすればよいですか? コンピュータの起動とシャットダウンの時間を記録したいのですが。診断情報などは必要ありません。日付と時刻の簡単なメモだけが必要です。何かのようなもの:2011/04/29 08:17:34 am startup 2011/04/29 05:26:52 pm shutdown どうやってやるの?これまでの私のgoogle検索では、windowsの起動時間を短縮することについて多くの人が尋ねてきましたが、目前のタスクには何の関心もありませんでした。
回答: 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でも動作します。 命令ワンライナーはスクリプトに含めることができますが、機能する前に権限に注意する必要があります。代わりに、最も簡単な方法は次のとおりです。 windowsコマンドプロンプトを開きます。 window + r、cmdと入力し、 enter。 powershellと入力して、 enter。 (windows 10では、powershellを直接開くことができます window + x "windows powershell")を選択します ワンライナーをクリップボードにコピーします。 ワンライナーに貼り付けます: alt + space →編集→貼り付け(windowsの新しいバージョンでは、通常 ctrl + v 実際には cmdウィンドウとpowershellウィンドウの両方で機能します (どちらもconhost.exeで実行されます)。 押す enter 完了するまで待ちます(特にwindowsの古いインストールの場合は、かなり時間がかかることがあります)。 結果はファイル_c:\temp2\_computerstartsandstops.log_にあります。