PowerShellでタスクスケジューラーを操作するワンライナー集【日次・週次・月次・ログオン時】

コンピュータ

タスクスケジューラーは日時などを条件にタスクを実行する機能ですが、GUIで操作画面までたどり着くのが困難です。
良く使いそうな操作を抜粋してPowerShellのコンソールから実行するワンライナーを集めてみました。

タスクの登録

日次

(例:毎日の03:00)

Register-ScheduledTask -TaskName "MyTask" -Trigger (New-ScheduledTaskTrigger -Daily -At "03:00") -Action (New-ScheduledTaskAction -Execute "notepad.exe") -User "$env:USERNAME" -RunLevel Highest

週一実行

(例:毎週月曜の03:00)

Register-ScheduledTask -TaskName "MyWeeklyTask" -Trigger (New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At "03:00") -Action (New-ScheduledTaskAction -Execute "notepad.exe") -User "$env:USERNAME" -RunLevel Highest

月一実行

(例:毎月1日の03:00)

Register-ScheduledTask -TaskName "MyMonthlyTask" -Trigger (New-ScheduledTaskTrigger -Monthly -DaysOfMonth 1 -At "03:00") -Action (New-ScheduledTaskAction -Execute "notepad.exe") -User "$env:USERNAME" -RunLevel Highest

ログオン時に実行

Register-ScheduledTask -TaskName "MyLogonTask" -Trigger (New-ScheduledTaskTrigger -AtLogOn) -Action (New-ScheduledTaskAction -Execute "notepad.exe") -User "$env:USERNAME" -RunLevel Highest

タスクの削除

Unregister-ScheduledTask コマンドレットを使います。

Unregister-ScheduledTask -TaskName "MyTask" -Confirm:$false

タスク一覧を取得

Get-ScheduledTaskを使います。

Get-ScheduledTask -TaskPath "\"

相変わらずPowerShellのコマンドレットは、長くて入力しずらいですが、入力支援機能を使って頑張って入力することにします。

コメント