presents by IT Consulting 109

PowerShell – イベントログの保存先情報の取得

概要

イベントログの情報を取得」の取得方法では、ログの保存先が取得できません。
今回はPowerShellではなくBATを用いてログの保存先を取得する方法について記載しています。

前提として「イベントログの取得」で取得したデータを読み込んで保存先の情報を確認する。
という流れになりますので合わせて実施してください。

 

手順

次のコマンドラインでBATを作成して実行します。

【EventLog.bat】

@echo off
set YYYYMMDD=%DATE:/=%
setlocal ENABLEDELAYEDEXPANSION

echo Entries,LogDisplayName,Log,MachineName,MaximumKilobytes,OverflowAction,MinimumRetentionDays,EnableRaisingEvents,SynchronizingObject,Source,Site,Container,LogPath >>EventLogConfig.csv

For /F "TOKENS=1-12 skip=2 delims=," %%a In (EventLog.csv) do (

  set Entries=%%a
  set LogDisplayName=%%b
  set logname=%%c
  set MachineName=%%d
  set MaximumKilobytes=%%e
  set OverflowAction=%%f
  set MinimumRetentionDays=%%g
  set EnableRaisingEvents=%%h
  set SynchronizingObject=%%i
  set Source=%%j
  set Site=%%k
  set Container=%%l

  set logname=!logname:"=!
  set RegPath="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\!logname!"
  set GET_VALUE=
  FOR /F "TOKENS=1,2,*" %%x IN ('REG QUERY !RegPath! /v "File"') DO IF "%%x"=="File" SET GET_VALUE=%%z
  
  echo !Entries!,!LogDisplayName!,!logname!,!MachineName!,!MaximumKilobytes!,!OverflowAction!,!MinimumRetentionDays!,!EnableRaisingEvents!,!SynchronizingObject!,!Source!,!Site!,!Container!,!GET_VALUE! >>EventLogConfig.csv
 
)

 

補足

上記コマンドラインでは、取得した「EventLogConfig.csv」と作成した「EventLog.bat」は同一ディレクトリ内に配置された状態で実施する想定で記載しています。

この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です