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

タスク・スケジューラをコマンド・プロンプトから制御する

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

デジタルアドバンテージ 打越 浩幸
2005/06/25
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows NTでタスクを管理するにはat.exeコマンドを利用していたが、Windows 2000以降ではGUIの[タスク]管理ツールも利用可能になった。
Windows XP/Windows Server 2003では、at.exeから機能が向上したschtasks.exeコマンドが利用可能になった。
at.exeで作成したタスクを[タスク]管理ツールやschtasks.exeで変更すると、at.exeでは管理できなくなる。
 
解説

 Windows OSの「タスク」は、設定したプログラムを、あらかじめ決められた日付や時間になると実行する機能である。定期的に実行する作業、例えばシステムやデータのバックアップ、データやシステム状態の同期、定時的な動作状況のレポート作業、ログ・ファイルの整理(古いログの削除や移動)など、さまざまな場面で利用できる。このほかにも、例えばウイルス・チェック・ソフトウェアで、定期的な更新のチェックなどで利用されている場合もある。

「schedule」サービスと「Task Scheduler」サービス

 タスクを実現するサービスは、Windows NTでは「schedule」というサービスによって実現されていた。「schedule」サービスは、システムに登録されたタスクを監視しており、指定された時間になるとタスクを起動する、という動作を行う。

 これに対しWindows 2000/Windows XP/Windows Server 2003では、このサービスは改良され、新しく「Task Scheduler」サービスによって管理されるようになった。改良点としては、GUIによるタスク管理ツールの追加、タスクごとの実行アカウントの指定(従来はすべてのタスクが同一アカウント権限で実行された)、複数の実行スケジュールの設定、ログオン時やアイドル時のタスク実行、などがある。

タスクの管理方法

 タスク関連のサービスの変更に伴い、タスクを管理する方法は、OSのバージョンに応じて少しずつ異なっている。

■Windows NTの場合
 Windows NTでタスクを作成/削除するには、コマンドライン・ツールのat.exeコマンドを利用する。GUIのツールはなく、しかも1度作成したタスクを修正することはできない。実行スケジュールや実行するコマンドを変更するには、1度削除してから、新規に作成し直す必要があるなど、使い勝手はよくない。

■Windows 2000の場合
 Windows 2000では、[コントロール パネル]に新しく用意された[タスク]アプレットを利用してタスクを管理する。従来のat.exeコマンドも利用できるが、これは互換性のためだけに残されているコマンドである。at.exeで作成したタスクもこの[タスク]アプレットで表示されるが、1度でも[タスク]アプレットで設定内容を変更すると、そのタスクはWindows 2000の「Task Scheduler」サービス用に昇格・変更され、at.exeコマンドではもう一覧を見ることさえできない。

[タスク]アプレット
Windows 2000以降のOSでは、[コントロール パネル]の[タスク]アプレットを利用してタスクを管理する。
  タスクを作成するには、このウィザードを利用する。
  at.exeコマンドで作成されたタスク。名前が「At〜」となっている。
  タスク作成ウィザードで作成されたタスク。

■Windows XP/Windows Server 2003の場合
 GUIツールの[タスク]管理ツールに加えて、新しくschtasks.exeというコマンドが用意された。これはコマンド・プロンプト上で利用するツールであり、GUIの[タスク]管理ツールで作成されたタスクと互換性がある。Windows XP以降のOSでは、at.exeは利用せず、必ずこちらを利用するべきである(Windows 2000同様、互換性のためにat.exeコマンド自体は提供されている)。


操作方法

schtasks.exeでタスクを制御する

 telnetなどでリモートからログオンして作業する場合、GUIのタスク制御ツールを利用できないので、代わりにschtasks.exeを使ってタスクを管理する。schtasksコマンドの使い方は、「schtasks /?」を実行すると表示されるし、[ヘルプとサポート センター]で「schtasks」を検索すれば、へルプ・メッセージを見ることもできる。以下ではローカルのタスクを管理する例を示すが、引数に「/s コンピュータ名」を付けて、リモートのコンピュータのタスクを管理することもできる。

タスクの作成

 タスクを作成するには、「schtasks /create」コマンドを利用する。次の例は、毎日朝4:00にバックアップ・コマンドを起動するタスクの作成例である。

C:\>schtasks /create /tn "Backup App" /tr c:\windows\backup.cmd /sc daily /st 04:00:00
タスクは現在ログオンしているユーザー名 ("EXAMPLE\user01") の名前の下で作成されます。
EXAMPLE\user01 の実行者パスワードを入力してください: *******  ……パスワードの入力

成功: スケジュール タスク "Backup App" は正しく作成されました。

タスク内容の確認

 作成したタスクの内容は、引数なしでschtasksコマンドを実行すると表示されるし、「schtasks /query /v」コマンドなどを使ってさらに詳細に表示させることもできる。

C:\>schtasks

タスク名                             次回の実行時刻           状態
==================================== ======================== ===============
Backup App                           04:00:00, 2005/06/21

タスクの削除

 タスクを削除するには、「schtasks /delete」コマンドを利用する。引数には「/tn タスク名」を付け、削除対象のタスクを指定する。

C:\>schtasks /delete /tn "Backup App"
警告: タスク "Backup App" を削除しますか (Y/N) ? y  ……確認の入力
成功: スケジュール タスク "Backup App" は正しく削除されました。

タスク内容の変更

 タスクの設定内容を変更するには、「schtasks /change」コマンドが利用できるが、このコマンドでは実行するプログラムや実行アカウントの変更しかできない。実行スケジュールは変更できないので、必要ならばタスクをいったん削除してから再作成するか、GUIの[タスク]管理ツールを利用して修正する。End of Article

この記事と関連性の高い別のWindows TIPS
タスクの設定を保存/コピーする(Windows XP/Windows Server 2003編)
タスク・スケジューラの基本的な使い方(Windows 7/Windows Server 2008 R2編)
タスク・スケジューラでシステム起動時にタスクを実行する
タスク・スケジューラで数分おきにプログラムを繰り返し実行する
タスク・スケジューラとWSHで定例処理を実現する
タスク・ログ・ファイルの見方
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

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

RSSフィード

キャリアアップ

- PR -

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

ソリューションFLASH

「ITmedia マーケティング」新着記事

第2回 オウンドメディアを通じたコミュニケーションの「キャッチボール」
コミュニケーションには情報の受け手と送り手の相互理解が不可欠。ユーザーだけではなく...

第2回 「売り上げに直結させる」ためのマーケティングデータ管理
集めたリードは果たして営業が使える形で管理されているだろうか? リードが使われる意味...

第2回 メーカーサイトでもここまで分かる貢献度
ページビュー、ユーザー数、広告のビューやクリック数……。Webのアクセス解析で一般的な...