PowerShellでイベントログを取得するサンプルコード †PowerShellを使ってイベントログを取得するサンプルコードを以下に記します。 関連記事 †Get-WinEventコマンドレットを使用してイベントログを収集 †以下にGet-WinEvnetコマンドレットを使用したサンプルコードを記します。 イベントログを取ってみる †以下のサンプルは、自機のイベントログを対象とし、ログの対象は、「システム」、ログレベルは「エラー」 $hostname = "localhost" $filter = @{} $filter.Add("LogName", "SYSTEM") $filter.Add("Level", 2) # LogLevel 1:Critical, 2:Error, 3:Warning $filter.Add("StartTime", (Get-Date).AddHours(-24)) # Now - 24hour $filter.Add("EndTime", (Get-Date)) # Now Get-WinEvent -ComputerName $hostname -ErrorAction SilentlyContinue -FilterHashtable $filter ハッシュ変数$filterにStartTimeとEndTimeを指定していますが、省略可能です。 ソースを指定する場合は、以下のようにハッシュにSourceを追加します。 $hostname = "localhost" $source = "Service Control Manager" $filter = @{} $filter.Add("LogName", "SYSTEM") $filter.Add("Level", 2) # LogLevel 1:Critical, 2:Error, 3:Warning $filter.Add("StartTime", (Get-Date).AddHours(-24)) # Now - 24hour $filter.Add("EndTime", (Get-Date)) # Now Get-WinEvent -ComputerName $hostname -ErrorAction SilentlyContinue -FilterHashtable $filter | ? { $_.ProviderName -eq $source } $hostnameに遠隔マシンを設定すれば、サーバの情報も取得することができます。 以上、Get-WinEventコマンドレットを使用してイベントログを取得する方法でした。 |