1

いずれかのサーバーの空きディスク容量が指定した値を下回ったときに電子メール (SMTP) で通知するアラートを設定しようとしています。これを行うために、MSFT Technetで説明されているように、PerfMon アラートを使用しています。アラートが機能し、システム ログに書き込みますが、「プログラムの実行」に設定しようとすると失敗します。ログ アラートは発生しますが、プログラムは失敗します。

私が使用しているプログラムは、smtp メールを送信するために作成した小さな C# アプリです。このサーバーとは別にアプリをテストし、手動で実行したところ、ユーザーの操作なしで正常に動作しました (コンソール アプリ)。しかし、アラートトリガーを介して実行するように設定すると、失敗します。

4

2 に答える 2

1

アラート プロパティで[ Run As ] フィールドを設定しましたか? そうでない場合、プログラムは LocalService として実行されており、特にネットワーク アクセスがありません。

プログラムが正しく動作することを確認できたユーザー アカウントに設定してみてください。

于 2008-11-19T17:54:31.820 に答える
1

プログラムのコマンド ライン引数がない可能性がありますか? http://support.microsoft.com/kb/324752/en-usで以下を見つけました

アラートが発生すると、サービスはプロセスを作成し、指定されたコマンド ファイルを実行します。また、このサービスは、定義したコマンド ライン引数を、ファイルの実行に使用されるコマンド ラインにコピーします。[コマンド ライン引数] をクリックし、適切なチェック ボックスをオンにして、プログラムの実行時に必要な引数を含めます。

注 少なくとも 1 つのコマンド ライン引数を選択する必要があります。選択しないと、プログラムは実行されません。(これは、選択したプログラムに関係なく当てはまります。)

C#アプリで例外処理/ログを記録する場合、何らかの種類がありますか? そこから何か得るものはありますか?

C# アプリの呼び出しをバッチ ファイルに入れて、アラートから開始できますか? のようなものを追加すると

echo %date% %time% > log.txt

バッチファイルの開始時に、バッチファイルが開始されたかどうかを確認できました。

于 2008-11-18T23:44:56.717 に答える