毎分無期限に実行されるスケジュールされたタスクを作成しました。
このタスクは、2 つのサーバー間でファイルを移動するバッチを起動します。これは特定のドメイン アカウントで実行されます。
タスクが完了するまでに最大 10 秒かかります。
タスクが初めてスケジュールされると、数時間は正常に動作します。ある時点で、同じタスクのインスタンスが n 個起動され始めますが、以下に示すように、その多くが失敗します。数時間後、起動されたインスタンスは 2 個または 3 個ですが、その後、インスタンスは最大 9 個に達します。
その後、タスクを変更して保存すると(実際には何も変更せずに)、数日間は再び正常に実行されます。
同じタスクはWindows Server 2012 R2では正常に動作していました。Windows Server 2019と2022では問題が発生しています。
1回目の修正の試み
答え1
作成したスクリプトで約 1 週間同じ問題が発生しており、なぜこのようなことが起こるのか、今まで理解できませんでした。オンラインで調べたところ、あなたのような漠然とした回答や解決策は見つかりましたが、何が起こっているのかの本当の理由はわかりませんでした。しかし、これはタスクを「無期限」に実行するように設定していることに関係していると思います。たとえば、私のタスクは毎日午後 2 時に開始され、1 時間ごとに無期限に繰り返されていました。その後、1 日か 2 日後に確認すると、同時起動要求に関する警告がすべて表示されていました。タスク スケジューラが毎日午後 2 時にプロセス全体を再起動していることに気付きました。もちろん、1 時間ごとに実行され続けますが、すでに設定されているタスクと同時に実行される新しい「タスク」が開始されます。
初日はすべてがスムーズに進みました。午後 2 時から 1 時間ごとにタスクが実行され、予定どおりに完了します。2 日目の午後 2 時には、元のタスクが 1 時間ごとに無期限に再実行され続けますが、毎日午後 2 時に開始するように設定されているため、新しいタスク プロセスも作成され実行されます。これで、2 つのタスクが 1 時間ごとに無期限に実行されます。3 日目も同じで、3 つのタスクが午後 2 時に 1 時間ごとに無期限に実行されます。以下同様です。これはスクリプトとは関係なく、タスク スケジューラの動作の文字通りの定義です。まだ回避策をテストしていませんが、これがなぜ発生するのかがわかると思います。