私はひたすら開発者ですが、継承したスケジュール済み(午前2時)のVB.Netコンソールアプリジョブが断続的に実行されて完了しません。約半分の時間、実行、ログ、イベントまで実行されません:タスクスケジューラはタスク "[appname]"を正常に完了しました、インスタンス "{3f00cbd6-b40e-4e74-a0da-4def71b4d7db}"、アクション "D:\ Scheduled Tasks [foldername] [appname.exe] "と戻りコード3762504530。
私はその戻りコードに関するもう1つの言及をWeb上で見つけました。以下は、ネットワーキングの担当者から回答を得た、同様の設定です。
私はどんなアドバイスや指示にも哀れに感謝します...事前に感謝します。
ジョブは「ユーザーがログインしているかどうかにかかわらず実行されますか」? - はい
ジョブは「最高の特権で実行」されますか-はい
サーバーOSとは何ですか? -ウィンドウ2008 R2標準
「設定されている唯一の条件は、コンピュータを起動して実行することです」というのは本当ですか?タスクを実行するためにコンピューターをスリープ解除するように設定されていません。ただし、スリープ状態にならず、タスクisが実行中です。異常終了しているだけです。
「設定は、タスクがオンデマンドで実行されることを許可します/ 3日を超えて実行する場合はタスクを停止します/要求されたタスクを強制的に停止してもタスクが終了しない場合」?はい、オンデマンドで実行できます。はい、4時間以上実行するとタスクを停止します。はい、要求どおりに終了しない場合は強制的に停止します。
戻りコードは一般的な。NET console app crashedコードであると思います。タスクスケジューラでジョブを設定する方法では、この問題は発生しません。
サーバーのアプリケーションイベントログで、ジョブが「完了」した時間の近くで発生したエラーを確認します。これらのイベントは、ジョブが異常終了した理由についてより多くの情報を提供するはずなので、トラブルシューティングをどこから始めればよいかがある程度わかります。
イベントログ->アプリケーションを確認すると、詳細情報が表示される場合があります。 3762504530の16進数値である例外コード0xe0434352のエラーレコードを見つけることができるはずです。
。NETの回答 は間違いなく正しいです。この問題をググる他の人のために、このエラーの具体的な例を共有すると思いました。
Windows Server 2012のスケジュールされたタスクでこのエラーメッセージが表示されました。 VS 2017のデフォルトである.NET 4.6.1を使用してコンソールアプリを作成しました。
サーバーは.NET 4.5.1のみがインストールされていることがわかりました。アプリの.NETターゲットを一致するように変更し、タスクは問題なく実行されました。明らかに、サーバーのランタイムバージョンを更新することで修正することもできます。
データインポートのスケジュールされたタスクを実行するためにサービスアカウントを使用しようとすると、これと同じ戻りコード(3762504530)がありました。私の問題は、サービスアカウントがログファイルにアクセスできないことでした。ログファイルを含むそのフォルダーのみに、継承されていないアクセス許可をサービスアカウント(フルコントロール)に付与し、問題を修正しました。
タスクスケジューラの履歴に戻りコード「3762504530」が表示され、タスクスケジューラジョブが「正常に完了しました」という同じ問題が発生しました。スケジュールされたタスクのイベントログは、次の情報を提供しました
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
他にもいくつか試しましたが、最終的にコマンドラインからプログラムを実行したところ、一部のサードパーティDLLがサーバーにインストールされていないことがわかりました。