人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

パフォーマンスモニタの警告で、バッチファイルが実行しない。

Win2003Serverのパフォーマンスモニタ、バッチファイルの設定について教えてください。

警告で、「トリガされたときの操作」-「次のプログラムを実行する」
で、.batのファイルを指定し、アラートメールを送ろうとしているのですが、
送信できません。

バッチファイルの中身は、Blat.exeのコマンドを書いたものです。
バッチファイル単体では問題なく動作するのですが、
トリガからのバッチファイル実行ができていないようです。

ログを見てもエラーが出ていませんし、
バッチ実行と同時に、ログエントリの作成も設定し、
このログエントリは問題なく行っているようです。

ただ、バッチファイルを設定するだけでは、
動いてくれないんでしょうか。

教えてください。
お願いします。

●質問者: tkono711
●カテゴリ:コンピュータ
✍キーワード:BLAT exe アラート エラー エントリ
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● kurukuru-neko
●20ポイント

バッチは実行モジュールではないから。

プログラム c:\windows\system32\cmd.exe /c xxx.bat

で動作しませんか?

[IIS]SMTP を利用してコマンド プロンプトで電子メールを送る

http://support.microsoft.com/default.aspx?scid=kb;ja;193685

NetKids iMark

http://www.istinc.co.jp/netkids/nki.html

◎質問者からの返答

ご回答ありがとうございます。

c:\windows\system32\cmd.exe /c xxx.bat

を「次のプログラムを実行する」に入れたところ、「指定したプログラムまたはコマンドファイルは存在しません。」と出てしまいます(涙

「コマンドラインの引数」あたりを設定すれば良いんですかね?

もう少しご回答を募集します。


2 ● Mook
●20ポイント

>「コマンドラインの引数」あたりを設定すれば良いんですかね?

その通りだと思います。

実行するプログラムに、

C:¥Windows¥System32¥cmd.exe

コマンドラインの引き数で、テキストメッセージのみにチェックを入れ

/C C:\test.bat

とすれば、バッチが実行されました。

実行結果がわかるように、バッチの中身で

echo START %DATE% %TIME% >>C:¥result.txt

myCommand hogegoge >>C:¥result.txt 2>&1

echo END %DATE% %TIME% >>C:¥result.txt

とすれば、実行結果がファイルで確認できると思います。

¥は半角に置き換えて読んでください。

◎質問者からの返答

ありがとうございます。

早速試してみます。

→だめでした。

バッチの中身に上記のコマンドを参考に変更しましたが、それ以前にバッチをまったく実行してくれません。

あと、怪しいのは実行ユーザ名でしょうか。

今はアドミンで設定しているのですが

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1466031

こちらの方と同じ状況です。

わたしも突然機能するようにならないでしょうかね(涙


3 ● Mook
●20ポイント

#2 です。

以降、ポイントは不要です。


バッチが実行されないというのは、何をもって判断されたのでしょうか。

当方も、当初は画面に実行ウィンドウが出ると思い、試行錯誤したのですが、画面にコマンドウィンドウは表示されませんでした。


そこで上記のように、実行結果をリダイレクトし、ファイルに出力するようにしたところ、該当ファイルが作成されることを確認しました。


上記のバッチを設定した際、

C:¥result.txt

のファイルは存在しませんか。


・バッチを単体で実行した場合はファイルが作成されますか。

・トリガが実施されたことは、イベントログには記録されていますか。

上記二点を確認されてはどうかと思います。


なお、回答回数の上限が二回となっていますが、上限を変更いただければ、継続して回答したいと思います。

◎質問者からの返答

どうもご回答ありがとうございます。

Mookさんの書いていただいたresult.txtを出力する部分を追加してみたのですが、バッチファイル自体を実行すれば問題なくresult.txtの出力もしています。しかし、パフォーマンスモニタでは、閾値を超えても出力しません。

また、イベントログにはトリガの実施が記録されています。

現状としては、パフォーマンスモニタが

C:¥Windows¥System32¥cmd.exe /C C:\test.bat 自体を実行していないようです。

疑うとすれば、実行ユーザの権限と思われますが、adminでログインし、adminで実行しているので、普通に考えれば権限の問題で実行しないわけではないと思われます。

回答回数の上限を増やしました。よろしければもう少しこの問題にお付き合いください。

よろしくお願いします。


4 ● kurukuru-neko
●20ポイント

原因がわかりました。

Windows のセキュリティー対策が原因です。

例えばc:\temp\のディレクトリーを作成すると


権限をみると

C:\temp>cacls c:\temp

c:\temp BUILTIN\Administrators:(OI)(CI)F

NT AUTHORITY\SYSTEM:(OI)(CI)F

SILENT\xxxx:F

CREATOR OWNER:(OI)(CI)(IO)F

BUILTIN\Users:(OI)(CI)R

BUILTIN\Users:(CI)(特殊なアクセス:)

FILE_APPEND_DATA

BUILTIN\Users:(CI)(特殊なアクセス:)

FILE_WRITE_DATA

Windowsのディレクトリーをみると

C:\temp>cacls c:\windows

c:\WINDOWS BUILTIN\Users:R

BUILTIN\Users:(OI)(CI)(IO)(特殊なアクセス:)

GENERIC_READ

GENERIC_EXECUTE

BUILTIN\Administrators:F

BUILTIN\Administrators:(OI)(CI)(IO)F

NT AUTHORITY\SYSTEM:F

NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F

BUILTIN\Administrators:F

CREATOR OWNER:(OI)(CI)(IO)F


c:\tempのバッチファイルは実行できないが

c:\windowsにバッチを移動すると実行ができる。

(OSは、Windows XPの場合です)

次のプログラムを実行するにバッチのパスを

記述しても動作しました。

対策:

バッチファイルの存在するディレクトリー

実行権限を適切に設定すれば動作するようになります。

◎質問者からの返答

返信遅くなりすいません。

ご回答ありがとうございました。

しかし、単純にバッチファイルとプログラム(この場合、blat.exeなんですが)

をwindowsの下にフォルダを作って置いたのですが、うまくいかないです。

Windows自体のバグなんでしょうか?

他のプログラム(例:IE)を設定しても、

動いてくれないです。

もう一度実行権限を調べてみます。


5 ● nagoya-it
●20ポイント

バッチファイルがパフォーマンスの警告閾値超えをトリガーに動作した際のパスはBlat.exeのあるパスになっているのでしょうか?

試しにBlat.exeを起動する行をフルパスで記述、またはカレントディレクトリの変更を行うコマンドを付加して動かしてみてはいかがでしょうか?

私はCDO(Collaboration Data Objects)というWindow2000以降に標準で搭載されたコンポーネントを利用してメール送信を行うVBSを作成し、それに必要なパラメータを渡し、VBSを動作させるBATファイルをパフォーマンス警告閾値超えをトリガーに動作することをやっていました。そのBATファイルには先頭行でカレントディレクトリをVBSのある場所に変更を行うようにしています。(cd /d <アプリケーションのあるパス>)


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ