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

タスク・スケジューラとWSHで定例処理を実現する

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

山田 祥寛
2003/09/13
 
対象OS
Windows NT
Windows 2000
Windows XP
Windows Server 2003
タスク・スケジューラを利用することで、任意のアプリケーションを定期的に実行することができる。
WSHで組んだコードやバッチ・コマンドなどと組み合わせれば、特定の処理をバッチ処理することができる。
 
解説

 例えば「TIPS―WSHで簡単なバックアップツールを作成する」で紹介したバックアップ・ツールは、適当なタイミングで手動起動しても十分に便利なツールである。だが、このような定期的に行うべき作業は、(忘れっぽい)人間が手でいちいち行うよりも、(几帳面な)コンピュータに委ねた方がはるかに信頼性も高く、何よりも手軽でよい。

 このように定期的な処理を自動的に実行したいという場合には、Windows OSに標準で用意されている「タスク スケジューラ」を利用するのが便利だろう。「タスク スケジューラ」を利用することで、月・週・日・時間単位の定期的なスケジュールから、システム起動時やログイン時、アイドル時のような特定条件の下で、指定されたタスク(処理)を自動実行することができる。

 それではさっそく、実行までの流れを見てみることにしよう。なお、サンプルコードはTIPS「TIPS―WSHで簡単なバックアップツールを作成する」で紹介したものを利用するので、もし自環境で試されるという方は、あらかじめサンプル・コードをダウンロードし、設定を完了しておいてほしい。


操作方法

手順1―タスク・ウィザードを起動する

 [スタート]メニューから[プログラム]−[アクセサリ]−[システムツール]−[タスク](もしくは[コントロール パネル]の[タスク])を開き、[スケジュールされたタスクの追加]をクリックする。

新規タスクの追加
タスクを追加するには、タスク・スケジューラを利用する。
  これをダブルクリックすると、新規タスクの追加ウィザードが表示される。

手順2―実行するプログラムを選択する

 起動されたタスク・ウィザードで、[次へ]をクリックすると、実行可能なプログラムの一覧が表示される。今回使用するMyBackUp.wsfのようなオリジナルのアプリケーションは一覧に表示されないので、[参照]ボタンをクリックし、MyBackUp.wsfを選択すること。

タスクの指定
タスク・ウィザードの最初の画面では、実行するタスクを選択する。ユーザーが独自に用意したアプリケーションの場合は、手動で実行ファイルの場所を設定する必要がある。
  これをクリックして、アプリケーションの実行ファイルを選択する。
  これをクリックして次へ進む。

手順3―タスクの実行間隔を設定する

 タスク名とタスクの実行タイミングを設定する。ここでは、バックアップという処理の性質上、[日単位]で設定しておくことにしよう。

タスク名とスケジュール・タイプの指定
ここでは、タスクに付ける名称と、タスクの実行時期(実行頻度)を指定する。
  タスクの名称。タスクの内容が分かるような名前を付けておく。
  実行スケジュールの指定。バックアップのように、毎日実行したい場合は[日単位]を選択する。[週単位]に設定すると、1週間のうち、どの曜日に実行するかを指定することができる。

手順4―タスクの開始時刻を設定する

 タスクの開始時刻と実行スパンを設定する。日単位を選択した場合、休日の処理が必要なければ「平日(月曜〜金曜)」を設定することもできる。[開始日]には、タスクを開始する日付を設定する。タスク・スケジューラが正常に動作しているかどうかを確認するためには、[開始時刻]は現在時刻の数分後に設定しておくとよいだろう。数分後に、実際にアプリケーションが起動されれば、正しく設定されていることになる。

タスク実行時刻の指定
先の画面で[日単位]を選択すると、このような画面が表示される。[毎日]を選択すると、毎日同じ時間に実行されるが、[平日]を選択すると、月曜日から金曜日にのみ実行されることになる(1週間のうち、特定の曜日だけ実行させることもできる)。
  タスクを実行させたい時刻。デフォルトでは、このタスク・ウィザードを実行した時刻が設定されている。バックアップ用途ならば、ほかに実行中のアプリケーションがなく、すべての作業が終了しているような時間帯にしておくとよい。ただしシステムが停止中の場合はタスクは実行されないので、その時間帯にはマシンの電源が入っていなければならない。
  実行する頻度。[平日]は月曜日から金曜日を表す(後で、どの曜日に実行させるかを変更することもできる)。
  タスクの実行開始日の指定。デフォルトでは、このタスク・ウィザードを実行した日付が設定されている。

手順5―実行ユーザーの名前とパスワードを設定する

 タスクは、ここで設定されたユーザーが実行したものとして処理される。ここで指定されたユーザーがもしもそのタスクの実行権限を持たない場合、タスクの実行は失敗するので注意すること。特に、バックアップのような処理の場合、各対象ファイルに対するアクセス権限が必要となる。

実行アカウントの指定
タスクを実行するアカウントとパスワードを指定する。タスクはシステムに誰もログオンしていない状態でも実行されるため、あらかじめ実行するためのアカウントを指定しておく必要がある。
  アカウントの指定。「コンピュータ名\ユーザー名」(ローカル・アカウントの場合)もしくは「ドメイン名\ユーザー名」(ドメイン・アカウントの場合)のように指定する。
  パスワードの指定。

手順6―タスクウィザードを終了する

 以上でタスク・スケジューラの設定は完了である。設定内容を確認した後、[完了]ボタンをクリックする。より詳細な設定をしたい場合には、[[完了]をクリックした時に詳細プロパティを開く]をオンにしておけばよい(もしくは、ウィザード完了後のタスク・スケジューラの画面において、各タスクをダブルクリックしてもよい)。

設定されたタスクの概要
最後に設定されたタスクの概要が表示される。チェック・ボックスをオンにしておくと、さらに詳細なタスク設定を行うことができる。
  タスクの名称。
  タスクの実行時間。
  詳細プロパティを表示させるための設定。

 上記の画面でチェック・ボックスをオンにするか、設定されているタスクをダブルクリックすると、次のような、タスクの詳細なプロパティが表示される。ここには、[スケジュール]や[設定]のようなタブが用意されており、タスクの継続時間やアイドル時・バッテリモードの場合の処理などを細かく指定することが可能である。

タスクの詳細プロパティ
この画面では、タスクの継続時間やアイドル時・バッテリモードの場合の処理などを細かく指定することができる。
  指定されたタスクのスケジュール。複数のスケジュールがある場合は、ここにドロップダウン・リストで表示される。
  繰り返し実行など、より詳細なスケジュールの設定を行う。
  複数のスケジュールを定義する場合にオンにする。例えば1日に3回実行したければ、3つの同じ内容のタスクを定義するのではなく、1つのタスクに対して、開始時刻を3つ定義する(例:9:00と12:00と18:00など)。

 後は、指定した時間を待って、指定した「MyBackUp.wsf」が実行されれば成功である。「TIPS―WSHで簡単なバックアップツールを作成する」を参考に、コードが正常に動作したことを確認してほしい。また、タスク・スケジューラの[詳細設定]−[ログの表示]を実行すると、指定されたタスクの実行開始時間や終了時間などのログが表示されるので、これによってもタスクの実行状態を確認することができる。

 タスク・スケジューラとWSHの組み合わせは、本例に限らず、極めて広範囲に応用可能であろう。例えば、ログイン時に不要な一時ファイルを削除したり、データベース・サーバへの接続やWebクエリーなどを設定したExcelを用意しておき、日々のレポートを決まった時刻に作成したりといったようなことも可能である。余力のある方は、WSHの練習も兼ねて、ぜひ挑戦してみてほしい。End of Article

「Windows TIPS」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間