1. タスク スケジューラを起動したら、エラーが表示される
を起動したら、以下の2つのエラーが表示された。
タスク PC Probe の起動 でエラーが発生しました。エラー メッセージ: 指定されたアカウント名が有効ではありません。
タスク イメージは破損しているか、または変更されています。 (HRESULT からの例外: 0x80041321)
環境は、Windows 7 Professional 64bit 。
2. タスクを削除するには、エクスプローラで、ファイルを削除
1つ目の問題は、
PC Probe の起動
という名前のタスクの起動で、問題が発生するようだ。
しかし、タスク スケジューラを起動し、当該のタスク名を探しても見つからなかった。
コマンドプロンプトで、タスクは表示されるが、削除できない
コマンドプロンプトを使ってみよう! -設定・システム操作-を参考にして、コマンドプロンプトより、タスクの一覧を表示。
schtasks /query
その結果、確かに問題となるタスクが、存在することがわかった。
タスク名 次回の実行時刻 状態 ======================================= ====================== ============= PC Probe の起動 N/A 準備完了
コマンドプロンプト上で、削除しようと試みた。
schtasks /delete /tn "PC Probe の起動"
しかし、エラーが表示され、削除できない。
エラー: 指定のタスク名 "PC Probe の起動" はシステムに存在しません。
エクスプローラでタスクを削除
タスクスケジューラでイメージの破損 Ashiat 0: によると、
タスク スケジューラに登録されているタスクは C:\Windows\System32\Tasks 内にあり、階層も下の画像の左ペインと全く同じになっています。
- C:\Windows\System32\Tasks
をエクスプローラで開いてみたら、ファイル“PC Probe の起動”が存在したので削除。
これにより、1つ目のエラーは表示されなくなった。
3. タスク イメージの問題
上記のエラーが出なくなっても、2つ目のエラーは、相変わらず表示される。
タスク イメージは破損しているか、または変更されています。 (HRESULT からの例外: 0x80041321)
先ほど参考にしたサイトでは、エクスプローラ上で、タスクに対応したファイルを移動させ、問題となるファイルを見つける方法が書かれている。
1. タスクスケジューラが起動していたら終了させる。
2. C:\Windows\System32\Tasks 内のすべてのフォルダをデスクトップなりに移動させる。
3. その状態でタスクスケジューラを起動させてエラーが出ないことを確認する。
4. あとは「退避させたフォルダ・ファイルを少し戻してタスクスケジューラを起動する。」を繰り返せばいい。
5. ファイル単位で割り出せたらそのファイルを調べて、削除してもいいタスクか判断する。削除できればそこで解決。重要なものそうなら再スケジュールの方法を調べて(Microsoft等に聞いて)実行する必要がある。
調べてみると、以下のタスクに問題があることがわかった。
- C:\Windows\System32\Tasks\Microsoft\Windows\PerfTrack\BackgroundConfigSurveyor
偶然にも、参考にしたサイトと同じタスク。このタスクは、壊れやすいのかな?
4. タスクを修復
できれば、タスクを削除せずに、修復したい。
には、タスク BackgroundConfigSurveyor を修復する方法が書かれている。これに従った結果、エラーが表示されなくなり、タスクを元に戻せた。
以下、行った作業sをまとめる。
A. タスクと、レジストリのバックアップ
- C:\Windows\System32\Tasks\Microsoft\Windows\PerfTrack の BackgroundConfigSurveyor を適当なフォルダへ移動させる。
- regedit を起動し、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PerfTrack を右クリックしてエクスポート。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain もエクスポート。
B. レジストリ項目の削除
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PerfTrack\BackgroundConfigSurveyor の Id の値をメモ。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Plain の中にある、上記でメモした値と同じフォルダ名を削除。
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\PerfTrack\BackgroundConfigSurveyor を削除。
これにより、タスク スケジューラを起動しても、エラーがでなくなる。
C. タスクを作り直す
- タスク スケジューラを起動し、タスク スケジューラ ライブラリの中の \Microsoft\Windows\PerfTrack を選択。
- 真ん中のペインが空であることを確認し、右クリック > タスクのインポート。
- 最初に、BackgroundConfigSurveyor を移動させたフォルダを開き、ファイル名の横にあるセレクトボックスで、「すべてのファイル」を選択。
- 上記の BackgroundConfigSurveyor を開くと、ダイアログが表示されるので、OK ボタンを押す。
これにより、タスクが元に戻った。
0コメント:
コメントを投稿