私が子供の頃は、親のPCをこっそり使って、
ネットサーフィンを楽むような子供でした。
当時は知識が浅く、ブラウザの履歴を消せば証拠無しと思っていましたが、
今思えば、まだまだ使用した形跡は残っていました。
今回はそんなPCの使用履歴が溜め込まれている、
イベントログをご紹介します。
一例としてPCの起動ログを取得するバッチ処理も作ってみます。
※Windows11の内容でご紹介します。
イベントログとは?
イベントログは、PCの動作の記録です。
システムやアプリケーション、セキュリティに関連する
様々なイベントの記録や管理が行われるもので、
トラブルシューティング、監視、コンプライアンス管理に役立ちます。
イベントログはイベントビュアーから確認できます。
(「Windows」+「R」→「eventvwr」と入力しエンターで開けます)
PCの記録と聞いて想像するようなものは「Windowsログ」を開くと確認でき、
その中生も5つのカテゴリに分けられています。
・アプリケーションログ
アプリケーションに関連するイベントを記録します。
アプリケーションの起動や終了、エラーなどが含まれます。
・システムログ
オペレーティングシステム自体に関連するイベントを記録します。
システムの起動やシャットダウン、ドライバやサービスのエラーなどが含まれます。
・セキュリティログ
セキュリティに関するイベントを記録します。
ユーザーのログオンとログオフ、アクセス権の変更、監査イベントなどが含まれます。
・セットアップログ
システムのインストールやセットアップに関連するイベントを記録します。
・フォワーディッドイベントログ
他のコンピュータから転送されたイベントを記録します。
イベントビュアーから確認することもできますが、
そのログを定期的に取得したり、使いやすい形に加工したりするために
バッチ処理の中でイベントログを取得するケースも多いと思います。
一例として、PCの起動ログを取得するバッチを作ってみましょう。
PC起動ログ取得バッチ
以下が処理の内容になります。
1週間分のPCの起動・終了のログを取得します。
@echo off
setlocal
REM 出力ファイルのパスを設定
set outputFile=C:\Path\To\Your\LogFile.txt
REM 現在の日付から7日前の日付を取得
for /f "tokens=1-4 delims=/ " %%i in ('powershell -command "Get-Date ((Get-Date).AddDays(-7)) -Format yyyy-MM-dd"') do set StartDate=%%i
REM 起動イベント(ID: 6005)とシャットダウンイベント(ID: 6006)を取得し、フィルターをかける
wevtutil qe System /q:"*[System[(EventID=6005 or EventID=6006) and TimeCreated[timediff(@SystemTime) <= 604800000]]]" /f:text > "%outputFile%"
echo 起動と終了のログを取得し、%outputFile% に保存しました。
endlocal
pause
コピペして、出力ファイルのパスをいじってあげればすぐ試せます。
作成したbatファイルを実行するとこんな感じで取得できます。
Event[0]
Log Name: System
Source: EventLog
Date: 2024-12-08T21:17:36.8510000Z
Event ID: 6006
Task: N/A
Level: 情報
Opcode: N/A
Keyword: クラシック,
User: N/A
User Name: N/A
Computer: TABLET-OF2SBIK5
Description:
イベント ログ サービスが停止されました。
Event[1]
Log Name: System
Source: EventLog
Date: 2024-12-08T21:18:09.0970000Z
Event ID: 6005
Task: N/A
Level: 情報
Opcode: N/A
Keyword: クラシック,
User: N/A
User Name: N/A
Computer: TABLET-OF2SBIK5
Description:
イベント ログ サービスが開始されました。
12/8の21:17に終了して、21:18に起動したんだな、ということが分かります。
出力内容を変えたり出力先を日付で変えたりして、
自分好みの処理にするともっと使いやすくなるかと思います。
まとめ
PC起動以外にも様々なログが溜め込まれていますので、
暇な時に眺めてみるのも楽しいかもしれません。
正常に動作しているように見えて、
思わぬログが出ているかもしれませんので、
健康診断くらいの気持ちでたま~に覗いてあげましょうね。