- 以下のコード部分をコピー
- メモ帳で新規ファイルを作成して、ペースト
- 名前をつけて保存する(loginLogoff.bat) *.bat拡張子は必須
- 保存したファイルを開くと、日付ごとにログイン、ログオフ時間が表示される
- 黒い画面を閉じる
@echo off
setlocal enabledelayedexpansion
set "prevDate="
set "firstEvent="
set "lastEvent="
for /f "tokens=1-3 delims=: " %%a in ('wevtutil qe System /q:"*[System[(EventID=6005 or EventID=6006)]]" /rd:true /f:text /c:20 ^| findstr /C:"Date:" /C:"Event ID:"') do (
if "%%a"=="Date" (
for /f "tokens=1-2 delims=T" %%x in ("%%b%%c") do (
set "currentDate=%%x"
set "currentTime=%%y"
)
)else if "%%a%%b"=="EventID" (
set "eventID=%%c"
if not "!currentDate!"=="!prevDate!" (
if defined firstEvent (
echo !firstEvent!
if defined lastEvent (
if not "!firstEvent!"=="!lastEvent!" echo !lastEvent!
)
echo.
)
set "firstEvent=Date: !currentDate! !currentTime! - Event ID: !eventID!"
set "lastEvent="
) else (
set "lastEvent=Date: !currentDate! !currentTime! - Event ID: !eventID!"
)
set "prevDate=!currentDate!"
)
)
if defined firstEvent (
echo !firstEvent!
if defined lastEvent (
if not "!firstEvent!"=="!lastEvent!" echo !lastEvent!
)
)
pause
イベントビューアーから見つけ出すのがめんどくさいので、スクリプトで実行できるようにしました。
役に立てたなら幸いです。