<目次>
(1) タスクスケジューラで「オペレーターまたは管理者が要求を拒否しました」エラーの発生例と解決策例のご紹介(一例)
(1-1) 事象・発生状況
(1-2) 原因(例)
(1-3) 対策(例)
(1) タスクスケジューラで「オペレーターまたは管理者が要求を拒否しました」エラーの発生例と解決策例のご紹介(一例)
(1-1) 事象・発生状況
・エラーメッセージ
オペレーターまたは管理者が要求を拒否しました。(0x800710E0)
(図111)
・発生状況
タスクスケジューラでPowershellを定期的に実行するようにスケジュールを設定したものの、実行予定時刻になっても処理されず、上記のエラーメッセージが表示された。
(1-2) 原因(例)
他にも発生原因があるかも知れず、あくまで私のケースの一例ですが、原因例をご紹介します。
調査の結果、2つの事象が重なって発生していたようでした。
・要因①:スケジューラのプロパティで「操作」タブの設定が誤った状態で実行したため、インスタンスが残存してしまった。
具体的には、スケジューラのプロパティ「操作タブ」→「プログラム/スクリプト」において、Powershellの格納先パスを指定した事が、エラー0x800710E0の原因でした。
(図121)
・要因②:その後正しい設定に見直すも、既にインスタンス起動中の場合は新しいインスタンスを実行しないように設定されていたため、起動されず当該エラーが発生(デフォルトの設定)。
どうやら、一度0x800710E0エラーが出てインスタンスが残存してしまっていたようで、下記の設定が効いて以降の起動が出来ていませんでした(この設定自体は間違ってないが、偶然インスタンス残存したため)
(図122)
>目次にもどる
(1-3) 対策(例)
上記原因の対策として、以下を実施しました。
・①スケジューラのプロパティで「操作」タブの設定を下記の通り修正しました。
(修正前)
「操作タブ」→「プログラム/スクリプト」:[Powershellの格納先パス]
「操作タブ」→「引数の追加」:なし
(修正後)
「操作タブ」→「プログラム/スクリプト」:powershell
「操作タブ」→「引数の追加」:-ExecutionPolicy Bypass [Powershellの格納先パス]
(図131)
この修正により、Powershellをタスクスケジューラで正しく動かす事が可能になります。
・②スケジューラの設定で「設定タブ」→「タスクが既に実行中の場合に適用される規則(N):」の設定を見直します。
具体的には「新しいインスタンスを開始しない」となっているのを、新しいインスタンスを開始するような設定(例:「新しいインスタンスを並列で実行」など)に変更します。
冒頭の「オペレーターまたは管理者が要求を拒否しました。(0x800710E0)」エラーが出た後は、インスタンスが残存しているためか、正し設定に修正しても処理が実行されないため、追加でこの設定をする事でスケジューラが正常に起動しはじめました。
以降はこの設定を元に戻しても、組んでいたスケジュール通り実行されました(インスタンスは残存し続けないようになった)