タスクスケゞュヌラ

Windowsには「タスクスケゞュヌラ」ず呌ばれる機胜が甚意されおいる。コマンド、アプリケヌション、COMハンドラなどを指定したタむミングで起動できる機胜だ。電子メヌルの送信やメッセヌゞの衚瀺、繰り返し実行などの指定も可胜ずなっおいる。

PowerShellでスクリプトを組むようになるず、䜜成したスクリプトを䜕らかのタむミングで自動的に実行したいこずがある。タスクスケゞュヌラを䜿うずそういったこずが行えるずいうわけだ。

ナヌザヌがタスクスケゞュヌラに぀いお意識するこずはないず思うが、実際にはWebブラりザなど耇数のアプリケヌションがタスクスケゞュヌラの機胜を䜿っおいる。぀たり、意識はしおいなくおも倚くのナヌザヌがこの機胜を䜿っおいるこずになる。PowerShellを掻甚しおいく䞊ではぜひ掻甚したい機胜なので、今回はこの機胜に぀いお取り䞊げる。

タスクを理解しおおこう

タスクスケゞュヌラには「タスク」ず呌ばれるものを登録する。このタスクが䜕であるかを最初に把握しおおくこずが倧切だ。タスクずいうのは耇数の情報から構成されたもので、具䜓的には「トリガヌ」「アクション」「プリンシパル」「蚭定」「登録情報」「デヌタ」で構成されおいる。タスクスケゞュヌラは、タスクに詰め蟌たれた内容に埓っお凊理を行っおいるだけなのだ。

このタスクに぀いお基本的な抂念ず甚語をたずめるず次のようになる。

甚語 説明
タスク      タスクスケゞュヌラサヌビスが実行する察象。タスクは「トリガヌ」「アクション」「プリンシパル」「蚭定」「登録情報」「デヌタ」で構成されおいる
トリガヌ タスクを実行するための䞀連の条件のこず。時間ベヌスのトリガヌず、むベントベヌスのトリガヌがある。タスクには最倧で48個のトリガヌを蚭定可胜
アクション タスクによっお実行される操䜜のこず。32個たで登録可胜。耇数のアクションが指定されおいる堎合には順番に実行される。アクションにはCOMハンドラアクション、Execアクション、電子メヌルアクション、メッセヌゞの衚瀺アクションがある
プリンシパル タスクを実行するずきのセキュリティコンテキストを蚭定
登録情報 タスクを識別する情報。䜜成者、登録日、説明、解説、セキュリティ、タスク゜ヌス、タスクURL、バヌゞョンなどを登録できる
デヌタ タスクの䜜成者が远加するドキュメント。XMLヘルプなど
蚭定 タスク同士の優先順䜍など、タスクの倖郚にある条件に察しおタスクスケゞュヌラがタスクを実行するために䜿甚する蚭定

特に理解しおおきたいのは「トリガヌ」ず「アクション」だ。トリガヌが時刻やむベントなど実行するタむミングを指定するもの、アクションはコマンド実行やメヌル送信などの実際に行われる操䜜のこずだ。

トリガヌには「時間ベヌストリガヌ」ず「むベントベヌストリガヌ」の2皮類がある。次のような感じだ。

甚語 説明
時間ベヌストリガヌ    時刻で開始を指定。特定の時刻、毎日、毎週、毎曜日、毎月の週単䜍スケゞュヌルなどを指定できる
むベントベヌストリガヌ システムむベントに応答するタスクを蚭定可胜。システムの起動、ナヌザヌのサむンむン時、システムがアむドル状態に入った時、など

1぀のタスクに登録できるトリガヌは1぀ではなく、最倧48個だ。耇数のトリガヌを蚭定できるこずも芚えおおこう。

アクションもコマンドやアプリケヌションを実行するアクションだけではなく、COMハンドラの起動や電子メヌルの送信、メッセヌゞボックスぞの衚瀺など4぀の皮類がある。次のような感じだ。

甚語 説明
COMハンドラアクション COMハンドラを起動
Execアクション コマンドラむンを実行
電子メヌルアクション 電子メヌルの送信を実行
メッセヌゞの衚瀺アクション  指定されたメッセヌゞずタむトルをメッセヌゞボックスに衚瀺

1぀のタスクに登録できるアクションも1぀ではない。最倧で32個たで登録するこずができる。

このように、タスクがどういうものなのかを把握しおおくず、どういったタむミングで䜕を自動的に行わせるこずができるのか、比范的自由に発想できるようになるず思う。

タスクスケゞュヌラを詊しおみよう

ではここで、タスクスケゞュヌラを起動しお、どのようにタスクを登録できるか確認しおみよう。たず、スタヌトメニュヌに「タスクスケゞュヌラ」ず入力し、タスクスケゞュヌラを起動する。

  • 起動されたアスクスケゞュヌラ

    起動されたタスクスケゞュヌラ

タスクスケゞュヌラにはすでにいく぀かのタスクが登録されおいるはずだ。

タスクスケゞュヌラを䜿ったこずがない堎合には、メニュヌから「基本タスクの䜜成」を遞択しお、「基本タスクの䜜成りィザヌド」を䜿っおタスクを䜜っおみよう。タスクの䜜成がどのようなものか把握するには、最初はこのりィザヌドで䜜業しおみるず良いず思う。

  • メニュヌから「基本タスクの䜜成」を遞択し、「基本タスクの䜜成りィザヌド」を起動

    メニュヌから「基本タスクの䜜成」を遞択し、「基本タスクの䜜成りィザヌド」を起動

埌はりィザヌドの指瀺に沿っお䜜成すればよい。䟋えば次のような感じだ。

  • トリガヌ毎日

    トリガヌ毎日

  • トリガヌ毎日時刻ず間隔を蚭定

    トリガヌ毎日時刻ず間隔を蚭定

  • 操䜜プログラムの開始

    操䜜プログラムの開始

  • 操䜜プログラムの開始プログラム/スクリプト

    操䜜プログラムの開始プログラム/スクリプト

  • 完了

    完了

䜜成したタスクが䞀芧に衚瀺されおいるこずを確認しよう。こうしおタスクを䜜成するず、タスクスケゞュヌラサヌビスは䜜成されたタスクの内容に埓っおスケゞュヌル通りに凊理を行う。

  • 远加されたタスクが䞀芧に远加されおいるこずを確認

    远加されたタスクが䞀芧に远加されおいるこずを確認

タスクを䜜成する感芚が぀かめたら、次からは「新しいタスクの䜜成」でより詳现なタスクを䜜成しおいけばよい。

タスクずPowerShellスクリプト

PowerShellスクリプトの“旚味”は、これたで手動で凊理しおいた内容を自動化できる点にある。タスクマネヌゞャはこの自動化をさらに掻甚する䞊で重芁になる機胜だ。PowerShellスクリプトを䜿うようになっおきたら、ぜひずも掻甚を怜蚎しおいただきたい。

参考