PowerShellでタスクスケジューラを操作!Get-ScheduledTaskの使い方を徹底解説

Windowsのタスクスケジューラは、定期的なジョブの自動実行に欠かせないツールです。
しかし、タスクの管理や確認をGUIから行うのは手間がかかることもあります。
そこで役立つのがPowerShellのGet-ScheduledTaskコマンドです。

このコマンドを使えば、登録されているタスクの一覧を取得し、詳細な情報を確認することが可能です。
本記事では、Get-ScheduledTaskの基本的な使い方から、フィルタリングや詳細情報の取得方法、実用的な活用例までを詳しく解説します。


PowerShellでタスクスケジューラを操作するメリット

Windowsのタスクスケジューラは、手動で設定すると手間がかかることがあります。
しかし、PowerShellを使うことで以下のようなメリットがあります。

  • 一括でタスクを管理できる
  • 特定の条件でタスクを検索できる
  • スクリプトを使って自動化が可能
  • GUIよりも高速で情報を取得できる

特にGet-ScheduledTaskは、現在登録されているタスクの一覧を取得し、状態やトリガーなどの詳細情報を確認するのに役立ちます。


Get-ScheduledTaskの基本的な使い方

Get-ScheduledTaskは、PowerShellのコマンドラインで簡単に実行できます。
以下のコマンドを実行すると、システムに登録されているすべてのスケジュールされたタスクの一覧を取得できます。

Get-ScheduledTask

このコマンドを実行すると、以下のような情報が一覧表示されます。

TaskPath                                       TaskName                          State
-------- -------- -----
\ OneDrive Standalone Update Task Ready
\Microsoft\Windows\UpdateOrchestrator Schedule Scan Ready
\Microsoft\Windows\Time Synchronization Synchronization Disabled

各タスクには**TaskPath(パス)、TaskName(タスク名)、State(状態)**などが表示されます。


フィルタリングして特定のタスクを取得する

タスクが多い場合、特定の名前のタスクのみを取得したいことがあります。
その場合は、-TaskNameパラメータを使うことで、特定のタスクのみを取得できます。

例1:特定のタスク名で検索

Get-ScheduledTask -TaskName "OneDrive Standalone Update Task"

例2:特定のパスにあるタスクを検索

タスクがフォルダに分かれている場合、-TaskPathパラメータを指定すると、特定のフォルダ内のタスクのみ取得できます。

Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator"

タスクの詳細情報を取得する

タスクの詳細な情報を確認したい場合は、Select-Objectと組み合わせると便利です。

例1:タスクの状態のみ表示

Get-ScheduledTask | Select-Object TaskName,State

例2:タスクの詳細情報を確認

Get-ScheduledTask -TaskName "OneDrive Standalone Update Task" | Format-List *

このコマンドを実行すると、タスクのトリガー、実行ファイル、実行ユーザー、状態などの詳細情報が表示されます。


実用例:特定の条件に合致するタスクをリストアップ

例1:現在有効なタスクだけを取得

タスクの状態が”Ready”(準備完了)または”Running”(実行中)のものを表示する場合は、Where-Objectを使用します。

Get-ScheduledTask | Where-Object {$_.State -eq "Ready" -or $_.State -eq "Running"}

例2:特定のワードを含むタスクを検索

タスク名に特定のキーワードを含むタスクを検索する場合、Where-Objectを使用すると便利です。

Get-ScheduledTask | Where-Object {$_.TaskName -like "*Update*"}

このコマンドを実行すると、タスク名に”Update”を含むすべてのタスクが表示されます。


CSVやテキストファイルに出力する

取得したタスク一覧を保存しておきたい場合は、Export-CsvOut-Fileを使用します。

例1:CSVファイルに保存

Get-ScheduledTask | Select-Object TaskName,State | Export-Csv -Path "C:\tasks.csv" -NoTypeInformation

例2:テキストファイルに保存

Get-ScheduledTask | Format-Table -AutoSize | Out-File -FilePath "C:\tasks.txt"

まとめ

PowerShellのGet-ScheduledTaskを使えば、Windowsのタスクスケジューラを効率的に管理できます。

  • Get-ScheduledTaskコマンドを実行するだけで、タスクの一覧を取得可能
  • -TaskName-TaskPathを使えば、特定のタスクを検索できる
  • Where-Objectを組み合わせると、状態やキーワードでフィルタリングできる
  • Export-CsvOut-Fileを使ってタスク一覧をファイルに保存できる

タスクスケジューラを頻繁に利用する場合は、PowerShellを活用して効率的に管理してみてください。

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