[PowerShell] | |||||||||
PowerShellでイベント・ログの内容を参照する
|
|||||||||
|
解説 |
イベント・ログは、オペレーション・システム上で発生した処理全般(エラーや警告、一般的な情報など)が記録された情報である。システム上でなにかしら問題が発生した場合にも、原因特定の情報を収集するためにイベント・ログの存在は欠かせない。
TIPS「PowerShellスクリプトで発生したエラー情報をイベント・ログに記録する」では、このイベント・ログに対してPowerShellスクリプトからログ情報を記録する方法について紹介した。PowerShellでは、.NET Frameworkのクラス・ライブラリを利用することで、イベント・ログへの記録がごく簡単なコードで記述できるが、イベント・ログを参照するのはもっと簡単だ。PowerShellでは、専用のGet-EventLogコマンドレットが用意されているので、これを利用するだけでよい。以下では、Get-EventLogコマンドレットの具体的な使い方を例を交えながら紹介していく。
操作方法 |
まずは、システム上に記録されたイベント・ログをリスト表示してみよう。といっても、Get-EventLogコマンドレットを実行するだけである。
PS > Get-EventLog -list |
これは単にログをリスト表示しているだけだが、それぞれのログに含まれる個別のエントリを確認するには、以下のように記述すればよい。systemはシステム・ログを表している(指定可能なイベント・ログ名の一覧を取得するには、「Get-EventLog -list -AsString」とすれば表示される)。
PS > Get-EventLog system |
詳細なメッセージを確認したければ、Format-Listコマンドレットを併用して、次のように記述するとよいだろう。
PS > Get-EventLog system | Format-List |
また、エラー・ログだけを取得したい場合には、Where-Objectコマンドレットを使ってエントリを絞り込むことも可能だ。
PS > Get-EventLog application | Where-Object { $_.EntryType -eq "Error" } |
変数「$_」はPowerShellにおける予約変数の1つで、パイプライン経由で渡されたオブジェクトを表す。つまり、ここではパイプライン経由で渡されたエントリから種別(EntryTypeプロパティ)がエラー(Error)であるもののみを抽出/出力している。利用可能なイベントの種類(EntryTypeプロパティの値)については、TIPS「PowerShellスクリプトで発生したエラー情報をイベント・ログに記録する」を参照していただきたい。
出力されるエントリの件数が多い場合には、-newestオプションで最新の何件かだけを出力することもできる。以下はセキュリティ・イベントログから最新の7件のみを取得する例である。
PS > Get-EventLog security -newest 7 |
最後に、Group-Object/Sort-Objectコマンドレットを利用して、特定のイベント・ソース単位にグループ化し、エントリの数が多い順にソートして出力してみよう。
PS > Get-EventLog system | Group-Object Source | Sort-Object Count -Descending |
Group-Objectコマンドレットには、グループ化のキーとなるプロパティ名を指定できる。ここではイベント・ソースをキーとしているが、ほかにもイベントの種別(Typeプロパティ)やイベントID(EventIDプロパティ)などの単位でグループ化することも可能だ。
また、ここではグループ化した結果を件数(Countプロパティ)について降順にソートしているが、昇順にソートしたい場合は、Sort-Objectコマンドレットの-Descendingパラメータを外せばよい。
■この記事と関連性の高い別の記事
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|