かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  vol.210 イベントログを使いこなせ(その2)|セイテク・シス管道場(Web)

 

 

vol.210 イベントログを使いこなせ(その2)|セイテク・シス管道場(Web)

2026年06月15日配信
執筆者:山内 和朗

 「セイテク・シス管道場(Web)」では、Windows Serverの要素技術やシステム管理の基本的な部分に焦点を当ててきました。今回は前回に引き続き、イベントログとイベントビューアーの使いこなしについて。

 

カスタムイベントを書き込む

 

 eventcreateコマンドまたはWrite-EventLogコマンドレットを使用すると、カスタムイベントをイベントログに書き込むことができます。この機能を利用すると、バッチやスクリプトの実行結果を独自のイベントとしてアプリケーションログに記録できます(画面1)。 

 

コマンドプロンプト(cmd.exe):

eventcreate /T INFORMATION /ID 100 /L Application /SO "MyApp" /D "テストメッセージ(eventcreate)" 

PowerShell(powrshell.exe、pwsh.exe):

New-EventLog -LogName Application -Source "MyApp" #イベントソースが未登録の場合のみ
Write-EventLog -LogName Application -Source "MyApp" -EventId 100 -EntryType Information -Message "テストメッセージ(Write-EventLog)" 

 

画面1 eventcreateまたはWrite-EventLogによるカスタムイベントの書き込み

画面1 eventcreateまたはWrite-EventLogによるカスタムイベントの書き込み

 

  事実上、カスタムイベントを書き込めるのはアプリケーション(Application)ログです。システム(System)、セキュリティ(Security)、およびアプリケーションとサービスログにはカスタムイベントを書き込むことはできません。 eventcreateはイベントID 1~1000、Write-EventLogはイベントID 0(非推奨)~65535のカスタムイベントを作成できます。eventcreateは任意のイベントソース名(/SO)を指定できますが、Write-EventLogはソース(-Source)がシステムに登録済みである必要があります。イベントソースはNew-Eventlogによるソースの作成、またはeventcreateによるイベントの作成でシステムに登録することができます。イベントの種類(/T、-EntryType)には、「Error(エラー)」「Warning(警告)」「Information(情報)」「SuccessAudit(成功の監査)」「FailureAudit(失敗の監査)」を指定できます。

eventcreate|Windows Server(Microsoft Learn)
Write-EventLog|PowerShell(Microsoft Learn)

 

知ってました? イベントログとタスクマネージャーの連動機能のこと

 

 イベントビューアーで特定のログの特定のイベントを選択し、右クリックメニューから「このイベントにタスクを設定」を選択すると、イベントログへの特定のイベントの書き込みをトリガーとして実行されるタスク(タスクスケジューラーのタスク)を作成できます。この機能を使用すると、特定のイベントの発生をトリガーとして、「プログラムの開始」アクション*1でプログラムやバッチ、スクリプトを自動実行させ、そのイベントを発生させた事象への対応(修復操作や通知など)を自動化することができます。
*1 タスクの「電子メールの送信(非推奨)」と「メッセージの表示(非推奨)」アクションは、Windows VistaおよびWindows Server 2008で廃止されました。→ タスクスケジューラに残された使えない機能の怪|@IT

 イベントビューアーからこの方法でタスクを作成すると、タスクスケジューラーの「タスク スケジューラー ライブラリ¥イベントビューアー タ スク」にタスクが作成されます(画面2、画面3)。実は、タスクスケジューラーで通常の方法で「イベント時」タスクを作成すれば同じことができますが、「イベントビューアータ スク」にタスクをまとめられること、実際のイベントからフィルター条件(実体はXPATH)をタスクに自動設定できることに利点があります。

 

画面2 特定のログの特定のイベントを選択して、「このイベントにタスクを設定」を選択し、タスクを作成する
画面2 特定のログの特定のイベントを選択して、「このイベントにタスクを設定」を選択し、タスクを作成する

 

画面3 タスクスケジューラーの「イベントビューアータスク」にタスクが登録される
画面3 タスクスケジューラーの「イベントビューアー タスク」にタスクが登録される

 

 このタスクスケジューラーとの連動機能を使って、何をするかは工夫次第です(画面4)。例えば、特定のエラーがログに記録されたときの修復操作としてサービスの再起動やOSの再起動が有効であることが分かっているのであれば、それを自動化できます。ユーザーがログオンしたり、ログオフしてたら、その情報を独自のログファイル(テキスト)に書き込むなんてこともできます。

 

画面4 タスクで実行するプログラムとして「msg * "メッセージ"」を指定した例

画面4 タスクで実行するプログラムとして「msg * "メッセージ"」を指定した例
 
 次回は、タスクスケジューラとのさらに高度な連動の仕方について取り上げます。
 

 セイテク・シス管道場(Web) (1) |・・・|(10)(11)(12)(13)(14)(15)(16)(17)|(18)    

blog_yamanxworld_subscribe

blog_yamanxworld_comment

blog_yamanxworld_WP_ws2025

最新記事