毎日決まった時刻にメッセージを出す ― タスクスケジューラ活用の全手順
Windows 10/11 には「タスクスケジューラ」という自動実行の仕組みがあり、これを使うと指定した時刻に通知用のウィンドウやメモ帳を表示してリマインドできます。ここでは「確実に表示される」「後から調整できる」「トラブルに強い」の3点を意識して、基本手順から応用設定、確認・復旧まで丁寧に解説します。
手順の全体像
- メッセージの中身(表示内容)を用意する
- タスクスケジューラで「いつ」「何をするか」を登録する
- 動作確認・ログの見方・後からの調整方法を覚える
1. 表示するメッセージを用意する
一番シンプルなのは「メモ帳でテキストを開く」方法です。視認性が高く、作成も簡単。以下のいずれかを使えます。
- メモ帳(Notepad)で作った
.txt
を開く
- PowerShell からメッセージボックスを出す(一行コマンド)
メモ帳パターン(初心者向け・おすすめ)
- メモ帳を起動し、伝えたい文面を入力(例:「17:00 日報を提出!」)。
- わかりやすい場所(例:ドキュメント)に
reminder.txt
などの名前で保存。
PowerShell の一行メッセージ(軽量で目立つダイアログ)
- 後述の「操作」の設定で、プログラムに
powershell.exe
、引数に以下を指定すると、ポップアップを表示できます。
-NoProfile -WindowStyle Hidden -Command "Add-Type -AssemblyName PresentationFramework; [System.Windows.MessageBox]::Show('17:00 日報を提出!','リマインダー')"
- 文字は後から置き換え可能。全角記号や改行も使えます。
2. タスクスケジューラを開く
- スタートを開き、検索に「タスクスケジューラ」と入力して起動。
- Windows 11 の場合は「Windows ツール」→「タスクスケジューラ」からも開けます。
3. 基本タスクの作成(ウィザード)
初めてでも迷いにくい「基本タスクの作成」を使います。
名前と説明
- 名前例:「日報リマインダー(毎日 17:00)」。
- 説明は空でも可。複数作る予定なら要点を入れておくと後で探しやすいです。
トリガー(いつ実行するか)
- 「毎日」を選択 → 実行する時刻(例:17:00)を指定。
- 曜日指定であれば「毎週」を選び、平日のみ等にチェック。
操作(何を実行するか)
- 「プログラムの開始」を選択。
- メモ帳で開く場合:
- プログラム/スクリプト →
notepad.exe
- 引数の追加(オプション) → 保存した
reminder.txt
のフルパス(例:"C:\Users\...\Documents\reminder.txt"
)
- PowerShell のダイアログを出す場合:
- プログラム/スクリプト →
powershell.exe
- 引数の追加 →
-NoProfile -WindowStyle Hidden -Command "Add-Type -AssemblyName PresentationFramework; [System.Windows.MessageBox]::Show('17:00 日報を提出!','リマインダー')"
完了
- 「完了をクリックしたときにこのタスクのプロパティを開く」にチェックすると、続けて詳細設定に進めます(おすすめ)。
4. 詳細設定で「確実に出す」ためのコツ
タスクは登録後にプロパティから細かく調整できます。見逃しや動作しない状況を減らすポイントを押さえましょう。
全般タブ
- 「ユーザーがログオンしているときのみ実行」にすると、メッセージなどの“画面に出る”操作が確実に表示されます。
- 「最上位の特権で実行」は通常不要。権限が必要なスクリプト実行時にのみ使います。
トリガータブ(高度な設定)
- 「遅延時間を指定してタスクを開始」:起動直後の混雑を避けたい時は 1~2 分遅らせる。
- 「タスクを繰り返し実行」:例えば「1 時間ごと、継続時間 8 時間」で定期的に催促したい時に。
- 「スケジュールを期限切れにした後、できるだけ早くタスクを実行する」:PC がスリープ中で機会を逃した場合に補完できます。
操作タブ
- PowerShell 一行コマンドはシンプルですが、複数行にしたい場合は
.ps1
ファイルを作って「プログラム=powershell.exe
」「引数=-NoProfile -ExecutionPolicy Bypass -File "C:\...\reminder.ps1"
」の形式に。
- 引数のパスや文字列にスペースが含まれる場合は必ず二重引用符で囲む。
条件タブ
- ノートPCなら「電源に接続されている場合のみ実行」のチェックを外すと、バッテリー時でも通知されます。
- 「スリープ解除して実行」:スリープをまたいで確実に実行したい場合に有効(※ハードウェア設定に依存)。
設定タブ
- 「要求時にタスクを実行」:右クリックの「実行」で手動テストできるように。
- 「タスクが失敗した場合、次の間隔で再試行」:1 分後、最大 3 回など、失敗時の保険を設定。
- 「タスクが既に実行中の場合の処理」:重複実行を避けたいなら「新しいインスタンスを開始しない」がおすすめ。
5. その場でテスト&ログの見方
- 作成したタスクを右クリック → 「実行」で即時テスト(メモ帳やダイアログが出るか確認)。
- 「履歴」タブを有効化すると、開始・完了・失敗などのイベントが残り、原因追跡が容易。
- より詳しく確認する場合は「イベント ビューアー」→「アプリケーションとサービス ログ」→「Microsoft」→「Windows」→「TaskScheduler」。
6. よくあるつまずきと対処
- 通知が出ない:
「ユーザーがログオンしているときのみ実行」になっているか確認。ロック画面やサインアウト状態では UI が表示されません。
- 時刻は過ぎたのに動かない:
トリガーの高度な設定で「スケジュール期限切れ後にできるだけ早く実行」にチェック。PC をスリープしていた場合の取りこぼしを補います。
- PowerShell でエラー:
引数の引用符の閉じ忘れ/全角混在に注意。必要に応じて -ExecutionPolicy Bypass
を付与。
- 毎時リマインドしたい:
「トリガー」→「タスクの繰り返し」→「1 時間ごと」+「継続時間:無期限」。
7. さらに実用的にするアイデア
- 曜日別にメッセージを変える:
タスクを複製して、文面・時刻・曜日を変える(例:月水金は「可燃ごみ」、火木は「資源回収」)。
- 複数端末で使う:
タスクを右ペインの「エクスポート」で .xml
保存し、別PCで「インポート」。
- 静かに通知したい:
PowerShell のメッセージボックスではなく、メモ帳を開くだけにする/タスクバーのトースト通知系スクリプトに切り替える。
8. 代替手段(必要に応じて)
- 「アラーム&クロック」アプリ:
純正のアラーム機能で音と通知を出せます(PC がスリープ中は鳴らない場合あり)。
- Outlook 予定表:
デスクトップ通知とメールの両方でリマインドしたいときに便利。
まとめ
タスクスケジューラなら、毎日の決まった時間にメモ帳やダイアログで確実に知らせる仕組みを作れます。基本タスク→時刻→操作(Notepad または PowerShell)という流れを押さえ、詳細設定で「繰り返し」「スリープ解除」「失敗時の再試行」まで整えておくと実用度がグッと上がります。まずは1件作って「今すぐ実行」でテストし、必要に応じて文面や時刻を調整していきましょう。
ABOUT ME