aij[beta]

日々の芥

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-) |
windows XPや2003 server以降で使用できる、"eventtriggers"というコマンドがある。
イベントログを監視して、特定のイベントが発生したらアプリケーションを起動するコマンドだ。構造的には、イベント監視定義とタスク生成を組み合わせており、"schtasks"と似たようなコマンドなのだが、これのタスク生成部分がうまくいかない。


eventtriggers /create /RU user /RP pass /TR "hogehoge" /TK "C:\Program Files\app\a.exe" /EID XXXX /SO "XXXXX"

となるのだけど、/TK以下に指定するパス名に問題があるようで、設定できるのだが、タスクが起動しない。設定されたタスクを見ると、どうもパス名にスペースがあるのがダメらしい。ググっても、schtaskで似たような悩みがあり、LFNを使用せずに対応という例があるばかり。
要はコマンドラインの特殊文字のエスケープなので

/TK "C:\Program Files\app\a.exe"



/TK "\"C:\Program Files\app\a.exe\""

と"\"でエスケープしてやるとうまくいった。schtaskでも同様の動きをするようだ。

むやみにディレクトリを作りたくないし、アプリケーションや、ユーザードキュメントは"Program Files"や"Document and Settings"以下にあるのが既定なのだから、このあたり注意事項がtechnetあたりにあれば1時間も無駄にしないのになあ。他にも悩む人がいるかもしれないのでメモ。

それにしても、このコマンドは有益。特定のイベントが発生したら、メール発信したり、あるいはサービスを起動したりとこれまでサードパーティのツールで行っていたことが低コストでできる。



スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。