Windows11でタスクスケジューラをPowerShellから完全操作する方法【作成・表示・削除・実行】

Windows
記事内に広告が含まれています。

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作業が大幅に効率化

コメント

タイトルとURLをコピーしました