web-dev-qa-db-ja.com

Windows 7タスクスケジューラタスクがエラー2147942667で失敗する理由

私は奇妙な問題に直面しています。バッチファイルを処理するタスクをスケジュールしました。オプションRun only when user is logged onを指定してタスクを実行すると、すべて正常に動作します。しかし、私はこのタスクをバックグラウンドで実行したいので、オプションRun whether user is logged on or notを使用して実行しています。今、タスクを実行すると動作しません。次の2つのエラーが表示されます。私はこのエラーを理解していません。この問題の解決を手伝ってください。

 Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667.
 Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon"  task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667.
110
Alok

これと同じ問題がありました。

私にとっての解決策は、Microsoft KB記事2452723で見つかりました。

「(オプション)で開始」フィールドのパスに引用符がある場合、Windows Vista以降のスケジュールされたタスクの実行は失敗します

基本的に、スケジュールされたタスクを編集して、[開始]フィールドから引用を取り出します。

  1. スケジュールされたタスクを開きます
  2. 「アクション」タブに切り替えます
  3. アクションを開く
  4. 「開始(オプション)」フィールドから引用符( ")を削除します。
  5. 開いているすべてのダイアログを保存して閉じます

enter image description here

219
jp2code

私にとっては「開始」でした-古いサーバーから値をコピーし、新しいexeの場所へのパスを更新しましたが、「開始」の場所を更新するのを忘れました-存在しない場合、このエラーが発生しますも

上記の@ hans-passantのコメントを引用してください。この問題をデバッグすることは価値があるからです。

エラーコードを16進数に変換して0x8007010Bを取得します。 7では、Windowsエラーになります。これにより、010Bエラーコード267が発生します。「ディレクトリ名が無効です」。確かに、それは起こります。

6
user230910

これは、複数の理由で発生する可能性があります。私の場合、これは権限の問題が原因で発生しました。タスクが実行されていたユーザーには、ログディレクトリへの書き込み権限がないため、このエラーで失敗しました。

5
Cookalino

Windows7でも同じ問題が発生しました。

エラー2147942667と、c:\ windows\system32\CMD.EXEを実行できないというレポートが表示されていました。スクリプトとStart-inで二重引用符を使用して、または使用せずに試しましたが、違いはありませんでした。次に、マップされたネットワークドライブへのすべてのパス参照をUNC参照(\ Server1\Sharexx\my_scripts\run_this.cmd)に置き換えてみましたが、修正されました。パット。

3
Pat Fahy

より一般的な答えを得るには、エラー値を16進数に変換してから、 Windowsタスクスケジューラのエラーと成功の定数 で16進数の値を検索します

2
flymike

私にとっては「開始」でした-私は誤って私のプログラムの名前の最後の「.py」に残しました。そして、それが入っていたフォルダーの名前を大文字にするのを忘れていました(「アプリ」)。

0
Rivers Cuomo