Windows XP、Server 2003のイベントログを監視する方法

ページ : 1 2 3
<この記事を全て表示する場合はこちらをクリック>

0015

Windows XP、Server 2003のイベントログを監視する場合には、EVENTTRIGGERSを利用してイベントトリガを設定する事で、任意のコマンドを実行する事が出来ます。EVENTTRIGGERSはWindows標準搭載のイベントトリガ用アプリケーションです。
ただし、Windows XPと、Windows Server 2003の一部ではEVENTTRIGGERSが上手く動作しません。
実装する前に、正常にコマンドが実行されているかテストした方が良いです。

EVENTTRIGGERS

EVENTTRIGGERS /パラメータ [引数]

説明:
    このコマンドライン ツールで管理者がローカルまたはリモートのシステムの
    イベント トリガを表示および構成できます。

パラメータ一覧:
    /Create     NT ログ イベントの発生を監視して指定の条件で動作するイベント
                トリガを新しく作成します。

    /Delete     トリガ ID を指定してイベント トリガを削除します。

    /Query      イベント トリガのプロパティと設定を照会および表示します。

    /?          このヘルプまたは使用法を表示します。

例:
    EVENTTRIGGERS /Create /?
    EVENTTRIGGERS /Delete /?
    EVENTTRIGGERS /Query  /?

EVENTTRIGGERS /CREATE

イベントトリガーを作成する場合に利用します。

擬似的にイベントログにエラーイベントを書き込んでテストしてみましょう。
以下のコードをメモ帳にそれぞれ貼り付けて、拡張子をvbsに書き換えて実行します。tsumari.vbsがエラーを発生させるVBSで、kaisho.vbsがイベントトリガが実行するVBSです。

tsumari.vbs

Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent 1, "大変です、トイレが詰まりました!", "\\."

kaisho.vbs

Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent 0, "トイレの詰まりを解消させました。", "\\."

コマンドプロンプトを開き、以下のコマンドを実行し、イベントトリガを登録します。

EVENTTRIGGERS /CREATE /TR "トイレが詰まった" /L Application /EID 1 /TK "Cscript C:\Script\EVENTTRIGGERS\kaisho.vbs"

0014

実行後、上記のようなエラーがイベントログに書き込まれます。

002

さらにイベントトリガで設定したスクリプトが実行されるため、イベントログには2つのイベントログが記録されます。

0016

これでトイレの詰まりは解消されました・・・たぶん。

EVENTTRIGGERS /Create [/S システム [/U ユーザー名 [/P [パスワード]]]]
                      /TR トリガ名 /TK タスク名 [/D 説明]
                      [/L ログ] { [/EID ID] [/T 種類] [/SO ソース] }
                      [/RU ユーザー名 [/RP パスワード]]

説明:
    NT ログ イベントの発生を監視して指定の条件で動作するイベント
    トリガを新しく作成します。

    注意: /EID、/T および /SO を同時に指定すると AND で動作します。

パラメータ一覧:
    /S      システム         接続するリモート システムを指定します。

    /U  [ドメイン\]ユーザー  コマンドが実行されるユーザー
                             コンテキストを指定します。

    /P      [パスワード]     指定されたユーザーのコンテキストのパスワード
                             を指定します。

    /TR     トリガ名         イベント トリガに関連付けるための名前を指定
                             します。

    /L      ログ             イベントの監視先の NT イベントログを指定します。
                             有効な種類は
                             Application、System、Security、DNS Server Log
                             および Directory Log です。ワイルド カード "*"
                             が使用できます。既定値は "*" です。

    /EID    ID               イベント トリガが監視する特定のイベント ID
                             を指定します。

    /T      種類             イベント トリガが監視する特定のイベントの種類
                             を指定します。有効な値は
                             "ERROR"、"INFORMATION"、"WARNING"、
                             "SUCCESSAUDIT" および "FAILUREAUDIT" です。

    /SO     ソース           イベント トリガが監視する特定のイベントの
                             ソースを指定します。

    /D      説明             イベント トリガの説明を指定します。
                             

    /TK     タスク名         イベント トリガの条件が一致したときに実行する
                             タスクを指定します。

    /RU     ユーザー名       タスクを実行するユーザー アカウント (ユーザー
                             コンテキスト) を指定します。システム アカウント
                             には、値は "" でなければなりません。

    /RP     パスワード       ユーザーのパスワードを指定します。
                             パスワードの入力を求めるようにするには、
                             値は "*" か空でなければなりません。
                             パスワードはシステム アカウントには影響を
                             及ぼしません。

    /?                       このヘルプまたは使用法を表示します。

例:
    EVENTTRIGGERS /Create /?
    EVENTTRIGGERS /Create /TR "ディスク クリーンアップ" /L SYSTEM /T ERROR
                          /TK c:\windows\system32\cleanmgr.exe
    EVENTTRIGGERS /Create /S system /U user /TR "ディスク領域不足"
                          /EID 4133 /T WARNING
                          /TK \\srv\share\dsk.cmd
    EVENTTRIGGERS /Create /S system /U domain\user /P password
                          /TR "ディスク バックアップ" /EID 4133 /L SYSTEM
                          /T ERROR /TK \\system\share\ntbackup.exe
    EVENTTRIGGERS /Create /RU user /RP password /TR "ディスク バックアップ"
                          /TK \\system\share\ntbackup.exe /EID 4



EVENTTRIGGERS /DELETE

登録したイベントトリガを削除するコマンドです。例えば以下のように入力する事により、イベントトリガを利用して作成した全てのトリガを削除する事が出来ます。

EVENTTRIGGERS /Delete /TID *
EVENTTRIGGERS /Delete [/S システム [/U ユーザー名 [/P [パスワード]]]]
                      /TID ID [/TID ID1 [...[/TID IDn]]]

説明:
    ID を指定して、システムからイベント トリガを削除します。

パラメータ一覧:
    /S      システム         接続するリモート システムを指定します。

    /U  [ドメイン\]ユーザー  コマンドが実行されるユーザー
                             コンテキストを指定します。

    /P      [パスワード]     指定されたユーザーのコンテキストのパスワードを
                             指定します。省略された場合は入力を求められます。

    /TID    ID               イベント トリガ ID を使って、削除するイベント
                             トリガを指定します。"*" のワイルド カードを使用
                             できます。

    /?                       このヘルプまたは使用法を表示します。

例:
    EVENTTRIGGERS /Delete /?
    EVENTTRIGGERS /Delete /TID 1 /TID 2 /TID 4 /TID 6
    EVENTTRIGGERS /Delete /S system /U domain\user /TID *
    EVENTTRIGGERS /Delete /S system /U username /P password /TID 1



EVENTTRIGGERS /QUERY

イベントトリガを利用して作成したイベントの一覧を表示します。

EVENTTRIGGERS /QUERY
EVENTTRIGGERS /Query [/S システム [/U ユーザー名 [/P [パスワード]]]]
                     [/FO 形式] [/NH] [/V]

説明:
    イベント トリガのプロパティと設定を表示します。

パラメータ一覧:
    /S     システム         接続先のリモート システムを指定します。

    /U [ドメイン\]ユーザー  コマンドを実行するユーザー コンテキスト
                            を指定します。

    /P     [パスワード]     指定のユーザー コンテキストのパスワードを
                            指定します。省略すると入力が促されます。

    /FO    形式             表示の出力形式を指定します。
                            有効な値は、TABLE、LIST および
                            CSV です。

    /NH                     列ヘッダが出力に表示されないように指定
                            します。
                            TABLE および CSV の形式で有効です。

    /V                      詳細な出力が表示されるように指定
                            します。

    /?                      このヘルプまたは使用法を表示します。

例:
    EVENTTRIGGERS /Query /?
    EVENTTRIGGERS /Query /FO list /V
    EVENTTRIGGERS /Query /FO csv /NH  
    EVENTTRIGGERS /Query /S system /U domain\user /P password /V

注意点

かなり便利なEVENTTRIGGERSですが、Windows XPに搭載されているEVENTTRIGGERSは完全に動作してくれないようです。(確認した中では、CREATEのTオプションや、DELETEのTIDの指定を上手く動作させる事が出来ませんでした。)また、こちらは未確認ですがWindows Server 2003 SP1以前のEVENTTRIGGERSも正常に動作してくれないのだとか・・・。
ちなみにWindows Server 2003のEVENTTRIGGERSはWindows XPでは利用出来ませんでした。

Windows Server 2008以降はEVENTTRIGGERSの代わりに直接イベントビューアからトリガを指定する事が出来ます。

参考URL

Windows XPの正体
日本語版の Windows Server 2003 では、EVENTTRIGGERS.EXE/T コマンドが動作しません

ページ : 1 2 3
<この記事を全て表示する場合はこちらをクリック>

1 2 3