Windowsのタスクスケジューラを使えば、アプリの自動実行や定期的なバックアップなど、様々な自動処理が可能になります。
さらに、PowerShellを使えば、タスクスケジューラをコマンドラインで完全に操作可能です。
この記事では、Windows11環境で「タスクスケジューラをPowerShellから作成・確認・削除」する方法を、初心者向けにわかりやすく解説します。
PowerShellでタスクスケジューラを扱うメリットとは?
GUIのタスクスケジューラも便利ですが、PowerShellを使うことで以下のようなメリットがあります:
- スクリプトで複数タスクを一括作成できる
- 自動化や管理に便利(特にIT担当者や開発者向け)
- 環境を問わず同じ処理ができる(Windows11でもWindows Serverでも同様)
PowerShellからのタスクスケジューラ操作は、「schtasks.exe」コマンドまたは「ScheduledTasksモジュール」のどちらかで行いますが、この記事ではより汎用性の高い schtasks をメインに紹介します。
PowerShellでタスクを作成する方法
たとえば、毎日午前9時にバッチファイルを実行したい場合、以下のように記述します。
schtasks /Create /TN "MyTask" /TR "C:\Scripts\backup.bat" /SC DAILY /ST 09:00 /RL HIGHEST /F
コマンドの意味:
/Create:タスクを新規作成/TN:タスク名(例:”MyTask”)/TR:実行するコマンドまたはプログラムのパス/SC:スケジュール(DAILY=毎日)/ST:実行時刻(24時間表記)/RL HIGHEST:最も高い権限で実行(管理者権限)/F:すでに存在する場合は上書き
✔ 管理者権限でPowerShellを実行してください!
タスクの作成には管理者権限が必要です。
PowerShellを右クリックして「管理者として実行」してください。
登録済みタスクを表示する方法
現在登録されているタスク一覧を見るには、以下のコマンドを使用します。
schtasks /Query /FO LIST /V
/Query:タスクを表示/FO LIST:詳細な情報をリスト形式で出力/V:詳細モード(トリガーや状態、最終実行日時なども表示)
特定のタスクだけ表示したい場合:
schtasks /Query /TN "MyTask"
このようにすることで、特定タスクの状態やスケジュールを確認できます。
タスクを削除する方法
不要になったタスクを削除するのも非常に簡単です。
schtasks /Delete /TN "MyTask" /F
/Delete:指定したタスクを削除/TN:タスク名/F:確認プロンプトなしで強制削除
応用例:ログオン時にアプリを起動するタスクを作成する
次は、ユーザーがWindowsにログオンした時にメモ帳を起動するタスクを作成してみます。
schtasks /Create /TN "OpenNotepad" /TR "notepad.exe" /SC ONLOGON /RL HIGHEST /F
ポイント:
/SC ONLOGONにより、ユーザーのログオン時に実行/RL HIGHESTで高い権限を確保(UACの影響を回避)
応用例:PowerShellスクリプトを週1で実行する
例えば、毎週月曜朝8時にPowerShellスクリプトを実行するタスクを作成
schtasks /Create /TN "WeeklyScript" /TR "powershell.exe -File C:\Scripts\report.ps1" /SC WEEKLY /D MON /ST 08:00 /RL HIGHEST /F
タスクの状態確認と手動実行
タスクの状態確認:
schtasks /Query /TN "WeeklyScript" /V /FO LIST
タスクの手動実行:
schtasks /Run /TN "WeeklyScript"
よくあるトラブルとその対策
タスクが実行されない/失敗する
- スクリプトやファイルにフルパスを指定しているか確認
- 実行に管理者権限が必要な場合は
/RL HIGHESTを付ける - PowerShellスクリプトには実行ポリシー(Execution Policy)の設定も要注意:
Set-ExecutionPolicy RemoteSigned
※必要に応じて実行許可を調整してください。
まとめ
PowerShellを使えば、Windows11でもタスクスケジューラを完全にコントロールできます。
特に、タスクの自動作成や一括管理、スクリプト化による再利用性など、効率よく環境を整えるための強力な武器になります。
この記事で学んだこと:
- PowerShell+
schtasksでタスクを作成・表示・削除できる - 実行時刻、トリガー、権限の指定も自在
- スクリプトで自動処理を構築すれば、IT作業が大幅に効率化

コメント