バッチプログラムからイベントログに書き込む
〜logevent.exe〜
0.改定履歴
- 1998.03.19 初版
- 1998.03.20 参考資料の追加
- 1998.04.02 NT3.51の情報追加
- 1999.11.11 図に会社関係の情報が入ってたので消した
1.はじめに
このドキュメントは,WindowsNTでバッチプログラムからイベントログに情報を書き込む手段を明記する.
どのような用途があるかというと,たとえばNTbackupを使ってバックアップしているとき,その開始や終了などの情報はデフォルトでイベントログに書き込まれるが,詳細なコメント,たとえば“どのディレクトリをバックアップしたか”などが書き込めない. その様なときに,このコマンドを用いてイベントログに書き込むことで,より詳細な情報管理を行おうとするものである.
2.logevent.exeプログラムの入手
バッチプログラムからイベントログに書き込む為のツール“logevent.exe”は,Windows NTリソースキットに入っている.
あるいは,MicrosoftのFTPサーバから取得する事も出来る.
- Windows NT3.5 リソースキット
- Windows NT4.0 リソースキット
- MicrosoftのFTPサーバ
3.NT3.51とNT4.0での動作の違い
NT4.0で稼働するものは,ログの出力先はネットワーク上のコンピュータを指定できるが,NT3.51用のものはそれが出来ない.
もし,NT4.0用のlogevent.exeがNT3.51でも稼働することが出来るのならば,できるかもしれない.(未検証)
4.設定
4.1.Windows NT3.51の場合
Microsoftの技術情報「文書番号:J040629 ,Q131008」に記載されているように,レジストリを編集する必要があるのだが,この元ファイルがどこにあるのか不明である.
NT4.0に導入したファイルを持ってくればとりあえず動くので,それで行えばよい. そうすると,前出の3.51版と4.0版の違いもなく,4.0版を使うので,3.51でも4.0の機能が実現できる.
単純に,NT4.0版のlogevent.exeを複写しただけでは次のようなエラーがでる.
よって,このMSVCRT.DLLファイルを複写してくる. このファイルは,NT4.0のsystem32ディレクトリ以下に入っているハズで,これをパスの通った所に複写すればよい.(レジストリの登録などは不要)
4.2.Windows NT 4.0の場合
リソースキットをインストール後,初めて使用したときに自動的に組み込まれる.
d:\toNT>logevent.exe 9999 aaa bbb ccc ddd eee fff ggg Installing D:\NTRESKIT\LOGEVENT.EXE onto local machine. d:\toNT> |
5.使用方法
使用方法も引数も,WindowsNT3.51とWindowsNT4.0では異なる. よって,それぞれの説明を行う.
5.1.Windows NT3.51の場合
NT4.0版を入れる限り,次のNT4.0と同じ.
5.2.Windows NT4.0の場合
ヘルプを見ると,文法は次のようになっている.
d:\toNT>logevent Usage: logevent [-m \\MACHINENAME] [-s SIWEF] [-c CategoryNumber] "Event Text" Severity is one of (S)uccess, (I)nformation, (W)arning, (E)rror or (F)ailure. d:\toNT> |
各オプションは次のようになる.
オプション | 内容 |
---|---|
-m | 出力先のコンピュータ名. なければローカルに記録される. |
-c | 分類番号 |
-s | イベントの種類. |
"もじれつ" | メッセージのテキスト |
エラーステータス(状態)は,次のように指定する.
種類 | オプション | 表示されるステータス |
---|---|---|
Success | -s s | 成功の監査 |
Information | -s i | 情報 |
Warning | -s w | 警告 |
Error | -s e | エラー |
Failure | -s f | 失敗の監査 |
コマンドの実行例を次に示す.
D:\NTRESKIT\logevent -m \\fXXXXX02
-c 8000 -s e "Test" Installing D:\NTRESKIT\LOGEVENT.EXE onto local machine |
この2行目は,最初の1回だけ表示される.
実行後,指定したfXXXXX02マシンのイベントログをみると,次のようなメッセージが表示されている.
メッセージに"Test"だけ指定しても,この「ソース(IUser Event)」内のイベントID(1)〜」は必ず表示されるが,無視すれば良い.(レジストリに登録されてないメッセージがでたという意味)
参考資料
- マイクロソフト技術情報 文書番号:J040629 ,Q131008