SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

PowerShell で一日の中で繰り返し実行するタスクスケジューラーのタスクを作成

leave a comment

タスクスケジューラーでは以下のように、一日の中で繰り返し実行をするタスクのためのトリガーを作成することができます。

image

PowerShell で作ろうとした際に少し手間取ってしまったので備忘録を。

以下のようなスクリプトで作成できました。

$Trigger = New-ScheduledTaskTrigger -Daily -At "2014/4/1 00:00"
$TaskName = "TestTask"
$Action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/C dir"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -Action $Action -description "$TaskName" -User "NT AUTHORITYSYSTEM" -RunLevel 1
$Schedule = (Get-ScheduledTask -TaskName $TaskName).Triggers
$Schedule.Repetition.Interval = "PT5M"
$Schedule.Repetition.Duration = "P1D"
Set-ScheduledTask $TaskName -Trigger $Schedule

最初は New-ScheduledTaskTrigger で、RepetitionDuration / RepetitionInterval を設定するのかと思っていたのですが、Daily のトリガーの場合はこのプロパティはないのですね。

imageimage

ということで、一度タスクを登録してからトリガーを変更したところ、想定している設定ができました。

image

一回のみ実行で繰り返してもよかったのかもしれませんが、毎日のタスクでどうやって設定するのかがわからずちょっとハマってしまいました。

Share

Written by Masayuki.Ozawa

4月 3rd, 2014 at 8:55 am

Posted in PowerShell

Tagged with

Leave a Reply