概要
タスクスケジューラのタスクをPowerShellで仕掛ける(登録する)ときに、タスク内設定の「トリガー」の「継続時間」が「12時間」になるようなコマンドラインを書く。New-ScheduledTaskTrigger コマンドレットのパラメーター -RepetitionDuration のところで、 ([timespan]::FromHours(12)) と指定するとできる。
詳細
やりたいこと/困ったこと
タスクスケジューラのタスクをPowerShellで仕掛ける(登録する)ときに、「継続時間」設定を「12時間」にしたい。しかし、「12時間」の記述方法が分からない。
なお、GUIのタスクスケジューラで設定するときには、この「12時間」ははじめからドロップダウンリストに含まれているので簡単に設定できるのだが。
環境
- OS: Windows 11 Pro バージョン 21H2
- PSVersion: 5.1.22000.653
やったこと/結果
色々調べたところ、以下のように記述すればよいことがわかった。
ポイントは、New-ScheduledTaskTrigger コマンドレットのパラメーター -RepetitionDuration のところで、 ([timespan]::FromHours(12)) と指定すること。
$trigger = New-ScheduledTaskTrigger -Once -at “2022/06/01 11:30:00” -RepetitionInterval “00:05:00” -RepetitionDuration ([timespan]::FromHours(12))
Set-ScheduledTask -taskname test -trigger $trigger
すると、実際にタスク”test”のトリガーとして、継続時間12時間で指定日時から5分おきに実行されるものが作成された。