Windows VistaマシンからWindows Server 2008のイベントログを抽出するバッチが上手く動いていませんでした。やっと動くようにできました。
動かなかったケース §
WMIC /node:"ホスト名" NTEVENT WHERE "(LogFile='System' AND Type='ERROR')" GET Message, TimeWritten /format:texttable.xsl|head -30|blatj - -s "akane3 eventlog report" -t メールアドレス
「利用できるインスタンスがありません。」というエラーが出ます。
動いたケース §
WMIC /node:"ホスト名" NTEVENT WHERE "(LogFile='System' AND EventType='1')" GET Message, TimeWritten /format:texttable.xsl|head -30|blatj - -s "akane3 eventlog report" -t メールアドレス
問題点 §
Type='ERROR'は通らずEventType='1'は通ります。違いはこれだけです。
原因は分かりません。
一応、MSDNで"Win32_NTLogEvent Class"を調べてみましたが、TypeよりEventType使った方がいいよと書いてあるだけで、使えないという記述は(見落としでなければ)見あたりません。
ちなみにVista+Windows Server 2003ではType='ERROR'で通っていました。