【 New-EventLog 】コマンドレット――新しいイベントソースを作成する:Windows PowerShell基本Tips(10)
本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「New-EventLog」コマンドレットです。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「イベントビューア」に新しいイベントソースを作成する「New-EventLog」コマンドレットです
New-EventLogコマンドレットとは?
「New-EventLog」は、イベントビューアに新しいイベントソースを作成するためのコマンドレットです。イベントソースとは、イベントビューアに記録されるイベントの「カテゴリー」に相当し(画面1の「ソース」部分)、あらかじめイベントソースを作成しておくと、「Write-EventLog」コマンドレット(本連載第9回参照)でイベントログを記録するときなどに管理者が定義したイベントソースを利用できるようになります。
また、New-EventLogコマンドレットでイベントソースを作成した上で、Write-EventLogコマンドレットでイベントを記録すると、Write-EventLogコマンドレットを単体で実行したときのようなエラーメッセージ(画面1の「全般」タブ部分)が表示されなくなります。
New-EventLogコマンドレットの主なオプション
New-EventLogコマンドレットの主なオプションは次の通りです。
オプション | 意味 |
---|---|
-LogName | 記録するイベントの種類を指定する |
-Source | 記録するイベントのソースを指定する |
-ComputerName | イベントを記録するコンピュータの名前を指定する。省略可能 |
-ParameterResourceFile | イベントの説明を記したDLLファイルの名前を指定する。省略可能 |
アプリケーションログにイベントソースを作成する
New-EventLogコマンドレットでは、「-LogName」「-Source」の2つが最低限実行に必要なオプションになっています。
例えば、アプリケーションログにイベントソースを作成するには、「-LogName」オプションで「Application」、「-Source」オプションで「ソースの名前(任意の文字列)」をそれぞれ指定します。
以下の実行例では、アプリケーションログに「AdminAlert」という名前のイベントソースを作成しています。
コマンドレット実行例
New-EventLog -LogName Application -Source AdminAlert
(アプリケーションログにイベントソース「AdminAlert」を作成する)(画面2)
この実行例のように事前にイベントソースを作成しておけば、Write-EventLogコマンドレットでイベントを記録した際、「全般」タブの説明欄に画面1のようなエラーメッセージが表示されなくなります。以下が、アプリケーションログのイベントソース「AdminAlert」にエラーイベントを記録した実行例になります。
コマンドレット実行例
Write-EventLog -LogName Application -Source AdminAlert -EventID 100 -EntryType Error -Message "コンピューターでエラーが発生しました"
(アプリケーションログのイベントソース「AdminAlert」にエラーイベントを記録する)(画面3)
「アプリケーションとサービス」ログに新しいイベント種類とイベントソースを作成する
New-EventLogコマンドレットでは、アプリケーションやシステムなどの既存のイベント種類にイベントソースを作成するだけでなく、新しいイベント種類自体を作成することもできます。
以下の実行例では、イベント種類「AdminTask」と、イベントソース「AdminInfo」を新規作成しています。
コマンドレット実行例
New-EventLog -LogName AdminTask -Source AdminInfo
(イベント種類「AdminTask」と、イベントソース「AdminInfo」を新規作成する)(画面4)
また、新しくイベント種類とイベントソースを作成した上で、Write-EventLogコマンドレットでイベントを記録すると、イベントビューアからも確認できるようになります。
以下の実行例では、イベント種類に「AdminTask」、イベントソースに「AdminInfo」を指定してイベントを記録しています。
コマンドレット実行例
Write-EventLog -LogName AdminTask -Source AdminInfo -EventID 100 -Message "タスク実行が完了しました"
(イベント種類に「AdminTask」、イベントソースに「AdminInfo」を指定してイベントを記録する)(画面5)
筆者紹介
国井 傑(くにい すぐる)
株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.