タスクスケジューラーとPowerShellで指定した時間にポップアップメッセージを出す

PCを利用しているときに、リマインダーを設定して次の予定を忘れないようにしたい、ということがあると思います。

Outlookのような予定を登録できるアプリを使っている場合は、予定として登録しておくといった方法もよくありますが、Windowsへの標準機能だけで実現することも可能です。

本記事では、タスクスケジューラーとPowerShellを利用して指定した時間にポップアップを出す方法をご紹介します。

今回は、例として毎日12時を知らせるポップアップメッセージを表示させます。

前提

今回の設定に必要なタスクスケジューラーとPowerShellは、Windows PCに既定でインストールされています。

そのため、通常のWindows PCであれば、特にあらかじめ準備が必要なソフトなどはありません。

設定の手順

タスクスケジューラーを起動し、「タスクの作成」をクリックして、新規タスク作成画面を表示します。

全般設定

「全般」タブにて、タスクの名前を指定します。

また、今回のポップアップは、PCを開いている時にのみ表示されればよいので、「セキュリティオプション」については”ユーザーがログオンしているときのみ実行する”を選択しておきます。

他の設定項目については、基本的には既定値で問題ありません。

ポップアップを出すトリガーの設定

「トリガー」タブにて、ポップアップを出す日時や間隔を設定します。

「新規」ボタンをクリックすると、「新しいトリガー」画面が表示されるので、日時と間隔を指定します。

今回は毎日12時にポップアップを出したいため、「開始」の時間には12:00:00を指定し、「毎日」のラジオボタンをチェックし「OK」をクリックして保存します。

他の設定値は既定のままで構いません。

ポップアップの設定

「操作」タブにて、表示するポップアップの設定を行います。

「新規」ボタンをクリックすると「新しい操作」画面が表示されるので、指定した時間に起動するプログラムと、その引数を指定します。

「操作」にて”プログラムの開始”を選択し、「プログラム/スクリプト」には起動するアプリを指定します。今回は、Powershellアプリが起動するよう、以下のように指定します。

%Systemroot%\System32\WindowsPowerShell\v1.0\powershell.exe

また、「引数の追加」にはアプリ起動時のオプションを指定します。今回は、”12時になったよ!”のポップアップメッセージが表示されるよう、以下のように指定します。

-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command "& { (new-object -comobject wscript.shell).popup('12時になったよ!',0,'お昼ご飯通知',65584) }"

条件の設定

「条件」タブにて、タスク実行時の細かい条件を設定します。

ノートPCなどでPCが電源に接続されていないことも考えられますが、その場合でもタスクを実行したい場合は、「コンピューターをAC電源で使用している場合のみタスク開始する」のチェックは外してください。

その他の設定

「設定」タブでタスクの動作に関する追加設定を指定します。

こちらは既定値のままでも問題ありません。

ここまでで設定は終了です。

ポップアップ表示

12時になると、以下のようなポップアップが表示されます。

ポップアップ内容の解説

タスクスケジュールの「ポップアップの設定」にて設定した引数にて、-Commandオプション部分に指定している値がポップアップの設定値になります。

-Command "& { (new-object -comobject wscript.shell).popup('12時になったよ!',0,'お昼ご飯通知',65584) }"

popup関数の引数について解説します。

  • '12時になったよ!'の部分
    • ポップアップメッセージの本体
  • 0
    • ポップアップメッセージがユーザーに閉じられるまで開いたままとなる設定を指定
  • 'お昼ご飯通知'の部分
    • ポップアップメッセージのウィンドウタイトル
  • 65584
    • ポップアップウィンドウのスタイルを指定
    • 今回は警告アイコン(ポップアップに表示されるアイコンが黄色三角の警告アイコンとなる)かつ、「OK」ボタンのみが表示されるシンプルなスタイルのウィンドウを指定

終わりに

今回は12時を知らせるだけのポップアップですが、例えば以下のような定期的に必要な作業や締め切りがあれば、今回のポップアップを工夫して設定しておくことでリマインダーとして使えます。

  • 毎日20時にサーバーをシャットダウンする
  • 22時以降も働く場合は上長に報告する
  • 毎週金曜日17時の経費申請の締め切りを通知する

Outlookなどの予定表アプリよりも設定がやや複雑ですが動作としてはとてもシンプルなので、追加のアプリがインストールできない環境などで、ぜひ利用してみてください。

執筆担当者プロフィール
Hiroko, Kimura

Hiroko, Kimura(日本ビジネスシステムズ株式会社)

Microsoft 365製品の提案~運用が担当領域、特にTeams/Teams Phone多めです。趣味は音楽とテレビと映画。趣味にしたいのは筋トレ(エンジニアには筋肉が必要)。

担当記事一覧