連載
» 2016年03月14日 05時00分 公開

山市良のうぃんどうず日記(60):Windows 10のトラブルシューティング事例――壊れたタスクを復元する/削除する (2/2)

[山市良,テクニカルライター]
前のページへ 1|2       

タスクをインポートしてエラーの原因を特定する

 問題となっているタスクを削除すると、タスクスケジューラのエラーは解消します。続いて、問題となっていたタスクの“エラー原因”を調べてみましょう。原因が分かれば、代替手段を講じてタスクを復元できます。

 タスクスケジューラで「タスクのインポート」をクリックし、先ほどコピー(エクスポート)しておいたタスクのXMLファイルをインポートします(画面6)。

画面6 画面6 事前にコピーしておいたXMLファイルをタスクスケジューラにインポートする

 すると、「タスクの作成」ウィンドウにインポートしたタスクの設定が表示されます。そのまま「OK」ボタンをクリックしてもタスクは作成されず、問題となっている設定内容のヒントが示されるはずです(画面7)。

画面7 画面7 「タスクの作成」ウィンドウで「OK」ボタンをクリックすると、このようなエラーが表示され、タスクの作成に失敗する

 例えば、「指定されたアカウント名が有効ではありません」は、「タスクの作成」の「全般」タブにある「タスクの実行時に使うユーザーアカウント」の現在の設定が、存在しないアカウントであることを示しています。

 筆者の環境では、Windows 7環境で変更したコンピュータ名が影響していました。Windows 7ではコンピュータ名が変更されても、タスクの登録には影響しないようです。それが、Windows 10にアップグレードしたことで問題として表面化したのでしょう。「ユーザーまたはグループの変更」ボタンをクリックしてローカルアカウントを指定することで、エラー状態を解消することができました。

 「次のエラーが報告されました:推奨されない機能をタスク定義で使用しています。」と表示された場合は、「操作」タブで設定されている操作に問題があります。

 Windows 7まではタスクで指定できる操作として「プログラムの開始」「電子メールの送信」「メッセージの表示」の3つがありました。このうち、「電子メールの送信」「メッセージの表示」の操作は、Windows 8以降では利用できなくなりました。

 Windows 8以降のタスクスケジューラのユーザーインタフェースにも、操作の選択肢として「電子メールの送信(非推奨)」「メッセージの表示(非推奨)」が存在しますが、これらの操作を指定してタスクを作成することはできません。詳しくは、以下の記事で説明していますので参考にしてください。

 「電子メールの送信」または「メッセージの表示」の操作を設定したタスクの場合は、上記の記事を参考に「プログラムの開始」を使用して代替の方法を実装します(画面8)。

画面8 画面8 利用できない「メッセージの表示(非推奨)」操作の変わりに、「プログラムの開始」で「Msg」コマンドの実行を定義する

ついでにゴミとなっているタスクをきれいにお掃除しましょう

 タスクスケジューラでエラーとして弾かれなくても、以前のバージョンのWindows環境に存在したタスクで、構成エラーになっている不要なタスクが引き継がれている場合があります。

 例えば、タスクの「プログラムの開始」に指定された実行可能ファイルが、Windows 10へのアップグレード時のアプリケーションの削除によって、存在しなくなった場合です。その場合、イベントログの「システム」ログにイベントID「414」として記録されます(画面9)。

画面9 画面9 イベントログの「システム」ログを調べ、タスクスケジューラーに構成エラーのタスクが報告されていないかどうかを確認する

 Windows 7 SP1からWindows 10へのアップグレードなら、「Microsoft Security Essentials」のタスクや「Windows Media Center」のタスクが残っていることがあります。また、Windows 10からはMedia Centerの機能は削除されています。これらのタスクはWindows 10では不要です。タスクスケジューラを使用して問題のタスクの設定内容を調べ、不要であればタスクの登録を削除します。

 別の方法として、マイクロソフトが無料提供しているユーティリティー群「Windows Sysinternals」の「Autoruns」を使用することもできます。

 Autorunsの「Scheduled Tasks」タブには登録済みのタスクが一覧表示され、実行可能ファイルが存在しない場合は背景が黄色でハイライトされて「File not found」と表示されます。

 削除可能かどうか判断できなければ、チェックボックスをオフして一時的にタスクを無効化し、何日あるいは何週間かPCを使ってみてしばらく様子を見ましょう。タスクを無効にして特に問題が発生しないようであれば、Autorunsを再実行して無効化しておいたタスクを右クリックし「Delete」を実行します(画面10)。

画面10 画面10 Windows Sysinternalsの「Autoruns」を使用して、存在しない実行可能ファイルを参照しようとしているタスクを削除する

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。