パソコンを使っていると、「毎日決まった時間にバックアップを取りたい」「特定の時間に通知を表示したい」といったことがあるかもしれません。そんなときに便利なのが、Windowsに標準で搭載されている「タスクスケジューラ」です。今回は、PowerShellスクリプトを使って、これらの作業を自動化する方法を、初心者の方にもわかりやすくご紹介します。
目次
- タスクスケジューラとは?
- PowerShellスクリプトを作成する
- タスクスケジューラでスクリプトを自動実行する設定
- よくある質問
- まとめ
タスクスケジューラとは?
タスクスケジューラは、Windowsに標準で備わっているツールで、指定した日時や条件で自動的にプログラムやスクリプトを実行することができます。例えば、「毎日午前9時にバックアップを取る」「パソコンの起動時に特定のアプリを開く」といった設定が可能です。
PowerShellスクリプトを作成する
まずは、実行したい処理をPowerShellスクリプトとして作成します。例えば、毎日12時にデスクトップに通知を表示するスクリプトは以下のようになります。
$bodyText = 'お昼の時間です!'
$ToastText01 = [Windows.UI.Notifications.ToastTemplateType, Windows.UI.Notifications, ContentType = WindowsRuntime]::ToastText01
$TemplateContent = [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime]::GetTemplateContent($ToastText01)
$TemplateContent.SelectSingleNode('//text[@id="1"]').InnerText = $bodyText
$AppId = '{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}WindowsPowerShellv1.0powershell.exe'
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($AppId).Show($TemplateContent)
このスクリプトを「C:スクリプトTEST.ps1」というファイル名で保存します。
このサイトをチップで応援
タスクスケジューラでスクリプトを自動実行する設定
次に、タスクスケジューラを使って、このスクリプトを毎日12時に自動実行するよう設定します。
- スタートメニューから「タスクスケジューラ」を検索して起動します。
- 右側の「タスクの作成」をクリックします。
- 全般タブで、タスクの名前を「定期実行テスト」と入力します。
- トリガータブで、「新規」をクリックし、「毎日」を選択して開始時間を「12:00:00」に設定します。
- 操作タブで、「新規」をクリックし、以下のように設定します
- 操作プログラムの開始
- プログラム/スクリプトpowershell
- 引数の追加-ExecutionPolicy Bypass C:スクリプトTEST.ps1
- 開始C:スクリプト
- 条件タブや設定タブで、必要に応じて設定を調整します。
- 「OK」をクリックしてタスクを保存します。
これで、毎日12時に指定したスクリプトが自動的に実行されるようになります。
よくある質問
Q1: タスクスケジューラでスクリプトが実行されません。どうすればいいですか?
タスクの「全般」タブで、「最上位の特権で実行する」にチェックを入れてみてください。また、タスクを実行するユーザーアカウントがスクリプトの実行に必要な権限を持っているか確認してください。
Q2: スクリプトの実行ポリシーとは何ですか?
PowerShellにはスクリプトの実行を制限する「実行ポリシー」があります。タスクスケジューラでスクリプトを実行する際には、「-ExecutionPolicy Bypass」を引数に追加することで、実行ポリシーを一時的に無効にできます。
Q3: スクリプトの実行結果を確認する方法はありますか?
スクリプト内にログ出力の処理を追加することで、実行結果を確認できます。例えば、`Out-File`コマンドレットを使用して、ログファイルに出力することができます。
まとめ
WindowsのタスクスケジューラとPowerShellスクリプトを組み合わせることで、パソコンの作業を自動化し、効率的に運用することができます。今回ご紹介した手順を参考に、ぜひ自分の環境に合わせた自動化を試してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント