Windows OS標準機能のログにはイベントログがあります。
イベントログはシステムや各アプリケーションのログをイベントビューアーで表示することが出来ます。
イベントログにどのようなログが出力されるかはOSやアプリケーションごとに予め定義されています。
ですが、Windows アプリケーション開発やイベントログの監視テストなどで、意図的にイベントログを作成したい場合があると思います。
任意のイベントログを作成する方法として、コマンドプロンプトとPowerShellを使う方法があります。
今回はそれぞれのコマンドの使い方と違いを紹介します。
1.コマンドプロンプトによる作成方法
コマンドプロンプトでは、「EventCreate」コマンドを使用します。
オプションは下記の通りです。
- /L:ログの種類 (SystemやApplicationなど)
 - /T:レベル (Information、Warning、Error、Success)
 - /SO:ソース
 - /ID:イベントID
 - /D:出力メッセージ
 
実際にコマンドを実行してみます。
C:\Windows\system32>EventCreate /L Application /T ERROR /SO “CreateEvent Test” /ID 100 /D “Event Test”
成功: 種類が ‘Error’ のイベントが、’Application’ ログ内に、’CreateEvent Test’ をソースとして作成されました。

「EventCreate」で指定する「ソース」は存在しないソースしか指定出来ません。
既に存在するソースを指定した場合、下記のエラーが表示されます。
エラー: インストールされているアプリケーションではなく、カスタムアプリケーションまたはスクリプトを識別するためだけに、ソースパラメーターが使用されます。
2.PowerShellによる作成方法
PowerShellでは、「Write-EventLog」コマンドを使用します。
オプションは下記の通りです。
- LogName:ログの種類 (SystemやApplicationなど)
 - Source :ソース
 - EventID :イベントID
 - Message :出力メッセージ
 - EntryType:レベル (Information、Warning、Error、SuccessAudit、FailureAudit) (オプション)
 - Category:タスクのカテゴリ (オプション)
 - ComputerName: コンピューター (オプション)
 
実際にコマンドを実行してみます。
Write-EventLog -LogName Application -EntryType Information -Source “Event Test” -EventID 100 -Message “Event Test”

「Write-EventLog」で指定する「ソース」は存在するソースを指定することが可能です。
そのため、存在しないソースを指定した場合、下記のエラーが表示されます。
Write-EventLog : ソース名 “Event Test” はコンピューター “localhost” に存在しません。
既定で存在しないソースを利用する場合、先に「New-EventLog」でソースを作成する必要があります。
New-EventLog -LogName Application -Source “Event Test”
コマンドでイベントログを作成する方法は以上です。
  
  
  
  

コメント