タスクスケジューラを PowerShell で管理してみる。<Register 編 其の一>

このRegister 編では、新規のタスクをPowerShell で作成します。

タスク作成のコマンドレットは " Register-ScheduledTask " なのですが、これを実行する前に、他のコマンドレットをいくつも実行しておく必要があります。

 

TechNetの下記URLで、ページ下部にこのコマンドレットの例文が紹介されています。

http://technet.microsoft.com/en-us/library/jj649811.aspx

これによると、先に " New-ScheduledTaskTrigger " というコマンドレットを使ってタスクの実行タイミングを定義し、それを変数に格納しています。

そして最後に実行する " Register-ScheduledTask " で、" -Trigger " というオプションにその変数を投入しています。

(正直言って、大変回りくどいと思います。)

 







 

タスクの実行タイミングを「隔週で、日曜と火曜の朝四時半に実行する」と定義する場合のコマンドレットは以下のようになります。

$DoW = "Sunday","Tuesday"

$Time = New-ScheduledTaskTrigger -Weekly -WeeksInterval 2 -DaysOfWeek $DoW -At 4:30

 

 

週に一回、たとえば月曜日だけに実行するのなら、" -DaysOfWeek Monday " と書けばよいのですが、複数の曜日を指定する場合はそれも事前に変数に格納しておく必要があります。

もしここで、<Get 編 其の三> で確認した数値を使って " -DaysOfWeek 5 " と書いた場合、金曜日として扱われてしまいます。

「 1 (日曜日) + 4 (火曜日) = 5 」として扱われることを期待したのですが、ダメでした。

 

 

<Register 編 其の二> 以降では、実行ユーザーと実行内容を設定します。