PowerShellでスケジュールされたタスクの作成
PowerShellでは、Register-ScheduledTask cmdletを使用してスケジュールされたタスクを作成することができます。このチュートリアルでは、PowerShellを使用したスケジュールされたタスクの作成と自動化されたタスクの実行について学びます。
前提条件
- Windows 10 oder later
- PowerShell 3 oder later
- PowerShellの基本的な知識
スケジュールされたタスクの作成
PowerShellを使用してスケジュールされたタスクを作成するには、Register-ScheduledTask cmdletを使用します。このcmdletには、以下のパラメーターを指定する必要があります:
TaskName: スケジュールされたタスクの名前。Action: スケジュールされたタスクが実行されるアクション (例えば、スクリプトの実行)。Trigger: スケジュールされたタスクが実行されるトリガー (例えば、毎日、週に一度)。
以下は、PowerShellで作成したスケジュールされたタスクを示します。このスクリプトでは、月曜日の2:00 AMに1回だけ実行するように設定されています。
# Task Schedulerモジュールのインポート
Import-Module -Name Microsoft.PowerShell.ScheduledJob
# タスク名とアクションの定義
$taskName = "MyScheduledTask"
$action = New-ScheduledTaskAction -Execute "C:\Path\To\YourScript.ps1"
# トリガーの定義 (月曜日の2:00 AMに実行)
$trigger = New-ScheduledTaskTrigger -Weekly -Monday -At 02:00
# スケジュールされたタスクの登録
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger
この例では、以下を実行しています。
- Task Schedulerモジュールをインポートします。
- タスク名とアクション (スクリプトの実行) を定義します。
- トリガー (月曜日の2:00 AMに実行) を定義します。
Register-ScheduledTaskcmdletを使用してスケジュールされたタスクを登録します。
スケジュールされたタスクの修正
既存のスケジュールされたタスクを修正するには、Get-ScheduledTask, Set-ScheduledTask, そして Remove-ScheduledTask cmdletsを使用します。
以下は、既存のスケジュールされたタスクを更新する例です。
# スケジュールされたタスクの取得
$task = Get-ScheduledTask -TaskName "MyScheduledTask"
# トリガーの更新 (火曜日の3:00 AMに実行)
$task.Trigger = New-ScheduledTaskTrigger -Weekly -Tuesday -At 15:00
# 変更を保存
Set-ScheduledTask -Task $task
この例では、以下を実行しています。
- スケジュールされたタスクを取得します。
- トリガーを更新します (
$task.Triggerプロパティを使用)。 - 変更を
Set-ScheduledTaskcmdletを使用して保存します。
スケジュールされたタスクの削除
スケジュールされたタスクを削除するには、Remove-ScheduledTask cmdletを使用します。
以下は、スケジュールされたタスクを削除する例です。
# スケジュールされたタスクを削除
Remove-ScheduledTask -TaskName "MyScheduledTask"
この例では、単にタスク名を Remove-ScheduledTask cmdletに渡すことでスケジュールされたタスクを削除します。
ベストプラクティス
PowerShellでスケジュールされたタスクを作成して管理する際には、以下のベストプラクティスを遵守してください。
- 意味のある名前を持つスケジュールされたタスク。
- スクリプトを中央に保存 (例えば、C:\Scripts)。
- スケジュールされたタスクをテストしてから、生産環境に展開する。
- スケジュールされたタスクのパフォーマンスを Task Manager または Windows Performance Monitor を使用してモニターする。
結論
このチュートリアルでは、PowerShellを使用したスケジュールされたタスクの作成と管理について学びました。スケジュールされたタスクを作成し、自動化されたタスクを実行することで、より重要な活動に時間を割くことができます。スクリプトを組織化し、テストを重視し、パフォーマンスをモニターすることで、スケジュールされたタスクが順調に動作することを保証するようにしてください。