Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

タスクの設定を保存/コピーする(Windows XP/Windows Server 2003編)

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2009/01/16
対象OS
Windows 2000
Windows XP
Windows Server 2003
タスクの設定をバックアップしたり、ほかのシステムに移行させたりしたいことがある。
タスクはドラッグ&ドロップで簡単にバックアップ/コピーできる。%windir%\Tasksフォルダの内容をコピーしてもよい。
タスクをコピーした後は、実行アカウントとパスワードを再設定する。

解説

 Windows OSの「タスク(タスク・スケジュール)」を利用すると、指定された時間やタイミング(ログオン時やシステム起動時など)に、指定されたプログラムを実行することができる。例えば指定した時間にファイルをコピー/バックアップしたり、ログなどを集計させたりできる。

 タスクの作成やスケジュールの変更には、[コントロール パネル]の[タスク]アプレットを利用するか、コマンド・プロンプト上でschtask.exeコマンドを利用する(TIPS「タスク・スケジューラをコマンド・プロンプトから制御する」参照。このコマンドはWindows XP以降で利用可能)。

 タスク・アプレットやschtasksコマンドでは、タスクの作成や変更、実行などはできるが、設定のバックアップ/復元(エクスポート/インポート)機能や、ほかのシステムにコピーして移行させる機能などは用意されていない。そのためシステムを再インストールしたときや、ほかのシステムへ移行させたい場合は、タスクを新規に定義し直さなければならない。

 だが実際には、タスクはエクスプローラを使って簡単にコピーできる。本TIPSでは、この方法について解説する。なおWindows Vista移行ではタスク(タスク・スケジューラ)の仕様が大幅に変更、拡張されているので、この方法は利用できない。これについては今後別TIPSで取り上げる。

操作方法

 Windows 2000/Windows XP/Windows Server 2003のタスクは、実際には%windir%\Tasksフォルダに置かれた.jobというバイナリ・データ・ファイルで定義されている。タスクを1つ定義すると、それに対応する.jobファイルが1つ作成される。そのため、タスクの設定をバックアップしたい場合は、単にこのファイルをコピーして保存しておけばよいし、ほかのシステムへ移行させたければ、新システムへコピーするだけでよい。ただしタスクの情報のうち、アカウントの設定だけは移行できないので、新システム上で再設定する必要がある。以下、その方法について述べる(以下の操作は管理者権限のあるアカウントでログオンして操作すること)。

タスクのバックアップとリストア

 タスクの設定をバックアップするには、[コントロール パネル]の[タスク]を開き([マイ コンピュータ]の下にある[コントロール パネル]−[タスク]を開いてもよい)、必要なタスクを(複数)選んで、バックアップ先へコピーすればよい。ただし同じドライブ上でドラッグ&ドロップするとタスクが「移動」してしまうので(タスクは実際には単なる.jobファイルなので、これはエクスプローラの当然の動きである)、注意していただきたい。選択したタスクを右クリックしてドラッグ&ドロップし、ポップアップ・メニューから[ここにコピー]を選ぶ必要がある(もしくは[Ctrl]キーを押しながら、左クリックしてドラッグ&ドロップする)。

 コマンド・プロンプト上で操作する場合は、%windir%\Tasksフォルダの内容をcopyコマンドでバックアップ先へコピーして保存しておくとよいだろう。

 バックアップしたタスク(.jobファイル)は、逆の操作で[コントロール パネル]の[タスク](%windir%\Tasksフォルダ)へ書き戻せば、リストアできる。

 リストアしたタスクは、必ず一度実行して(タスク名を右クリックし、ポップアップ・メニューから[タスクの実行]を選択する)、正しく動作することを確認していただきたい。実行するパスが変わっていたり、実行アカウントが変更(削除)されたりしていると、失敗する可能性があるからだ。

タスクをほかのシステムへコピーする

 2つのシステム間でタスクの設定を移行(コピー)するには、2つのシステム間で[コントロール パネル]−[タスク]を開き、ドラッグ&ドロップしてコピーする。リモートのコンピュータを\\serverのように指定してエクスプローラで開くと、最低でも[タスク]と[プリンタとFAX]という共有フォルダが見えるはずなので、この[タスク]共有フォルダを使ってタスクをコピーすればよい(管理者権限のあるアカウントでネットワーク接続しておく必要がある)。共有を禁止している場合や、[タスク]フォルダが見つからない場合は、逆向きにコピーするか(リモートのコンピュータ側でコピー操作を行う)、.jobファイルをフロッピー・ディスクなどでコピーして、%windir%\Tasksフォルダへ書き込めばよい。

 異なるシステム間で.jobファイルをコピーした場合、そのままでは動作しない。タスクで参照している実行ファイルや作業フォルダが存在しない(間違っている)、実行アカウントやパスワードなどが正しくない、セキュリティ設定が間違っているなど、いろいろな理由がある。必ずタスクの内容を確認し、一度タスクを手動で実行しておこう。タスクの実行が成功したかどうかは、[詳細設定]メニューの[ログの表示]で確認できる。ログの見方についてはTIPS「タスク・ログ・ファイルの見方」を参照していただきたい(ログの確認は、必ず対象システムにログオンして、ローカル・コンピュータ上で行うこと。ネットワークの共有フォルダ上の[タスク]では表示できないことがある)。

コピーした直後のタスク
ほかのシステムからコピーしてきたタスク(.jobファイル)は、そのままでは実行できないことがほとんどである。実行ファイルが存在しないとか、タスクの実行に必要なアカウントが存在していない、もしくは設定が間違っているなど、さまざまな理由が考えられる。
ほかのシステムからコピーして作成したタスクの例。
タスクをすぐに実行するには、タスクを右クリックして、ポップアップ・メニューから[タスクの実行]を選択する。実行後、[詳細設定]メニューの[ログの表示]で実行結果を確認すること。
タスクの内容を確認、再設定するにはこれを選択する。

 コピーしてきた直後のタスクは、そのままでは実行は失敗するはずである。まず(ユーザー名と)パスワードを再設定しておこう。

実行アカウントの設定
ほかのシステムからコピーしてきたタスクでは、アカウントの違いにより、実行できないことがある。こういう場合はアカウント名とパスワードを再確認、再設定する。
実行ファイル名。実行するファイルが存在するかどうか確認する。
作業用のフォルダが存在するかどうか確認する。
実行するアカウント名は、同じ名前に見えても(たとえドメイン・アカウントであっても)、システム内部のSIDなどが異なり、実行できない。この例ではローカルのアカウントなので、ローカルには存在せず、そのままでは実行できない。
パスワードを再入力するにはこれをクリックする。

 タスクの実行アカウントが実際に存在するユーザー名(ドメイン・アカウント)であっても、パスワードを再設定しないと動作しないはずである。[パスワードの設定]で正しいパスワードを指定して、再実行していただきたい。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間