Windows 2012 R2のタスクスケジューラでC#コンソールアプリケーションをスケジュールしました。手動で実行するか、スケジュールされたタスクを右クリックしてRunをクリックすると、アプリケーションが実行されますが、タスクスケジューラによって以下のエラーでトリガーされると失敗します。
オペレーターまたは管理者が要求を拒否しました(0x800710E0)
Google検索後も以下の手順に従いました
フォルダーの許可が原因でエラーが発生しました。アプリケーションからCSVを作成していましたが、フォルダーの許可が必要でした。フォルダーにフルコントロールを指定した後、エラーが解決されました。
私の場合、「オペレーターまたは管理者がリクエストを拒否しました」というエラーメッセージは、タスクの前のインスタンスがまだ実行されている 「新しいインスタンスを起動しない」オプションがありました(デフォルト状態)「」でタスクがすでに実行されている場合、次のルールが適用されます」タスクのSettingsタブで、タスクスケジューラは新しいインスタンスの起動を拒否しました。
しかし、そのエラーメッセージはかなり紛らわしいです。他の答えから、それは多くの完全に異なるエラーを意味するかもしれないことがわかります。 Microsoftの製品では通常どおりです。
タスクのHistoryタブを確認すると役立ちます。それは私が何が起こっているかを見つけたところです。イベント「Launch request ignore、instance already running」がありました。
@ Sushmit-Patilが解決策を見つけたことは知っていますが、同様の問題に解決策を追加したかったのです。
以前のプロセスが終了することはありませんでした(コードに欠陥があったため、メモリ内でぶらぶらしていました)。既定では、Windowsタスクスケジューラは、既に実行されているプロセスを再度実行しません。
欠陥の修正に加えて、タスクスケジューラの[設定]タブで、を設定します。タスクが既に実行されている場合、次のルールが適用されます:to新しいインスタンスを並行して実行します
私にとって、解決策はRun with highest privileges
プロパティ。
私の場合、Task Schedulerでジョブセットアップを行っているように、 「設定の更新時にタスクスケジューラタスクを実行できないようにする」 無期限に「X」分ごとに実行するジョブのセットアップがありました。
Last Run Resultの恐ろしい「The operator or administrator has been request」を見て、Historyを見ましたタブをクリックして、「スケジュールを逃したことを示す詳細を参照してください」。
ジョブプロパティのSettingsタブから、オプション「スケジュールされた開始を逃した後できるだけ早くタスクを実行する」をチェックし、問題を解決しました。 ;ただし、資格情報を再度入力する必要がありました。
注:これは、ハードウェアの修復が元のハードウェアに戻った後、サーバーが冗長バックアップサーバーから移動されると発生し始めました。 OSはServer 2012 R2であり、運用サーバーで修復が行われている間にOSが他のハードウェアに移動されましたが、そこに気付いていませんでした。
私の場合、タスクはPowerShellスクリプトを起動し、タスクスケジューラのタスク入力グリッドに表示される「オペレーターまたは管理者がリクエストを拒否しました(0x800710E0)」エラーメッセージを生成しました。ユーザー名は正しいものでしたが、コマンドプロンプトにドロップし、.ps1ファイルに対してPowerShellを実行してタスクをシミュレートしたとき、スクリプトに不審なフラグを立てたアバストプロンプトが表示されましたでした。実行を許可します。アバスト例外を作成しましたが、タスクは問題なく実行されます。