毎日行わなければならない手短な業務タスクを何らかの理由により、忘れてしまうことは誰しもあることだ。しかし出勤簿や日報のような類のものからメールやSlackの返信などの遅延で怒りを買うと、刑務官の怒号のような文言が飛んでくるかもしれない。
いずれにせよ、付箋やカレンダーとは異なる方法で"アテンション プリーズ(Attention, please)"をワークエリアで手軽に行えないか?考えてみた。以前(記事)、Power Automate Desktopで毎朝"起動時"にWeb巡回するフローをスタートアップフォルダで構築してみたが、ちょっとしたアテンションを手軽に行うには、少々仰々しい。
○PowerShell&.NETでNotify(通知)する
いくつかの方法があるがワークエリアのWindows環境では、インストールできる材料が限られる。筆者はPowerShell 7と.NET Framework v4がデフォルトで使えるため、この環境で使えそうなものを調べると、System.Windows.Forms.NotifyIcon(MicrosoftAPIリファレンス)がある。PowerShellで呼び出す方法を調べると数行で可能だ。Add-Type -AssemblyNameでクラスを読み込み、New-ObjectでNotifyIconのインスタンスを作成し、ShowBalloonTipを表示させる。
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.NotifyIcon]$task = New-Object System.Windows.Forms.NotifyIcon
$task.Icon = [System.Drawing.SystemIcons]::Information
$task.Visible = $true
$task.ShowBalloonTip(3000, "9時通知", "おはようございます。9時です。", 1)
Start-Sleep -Seconds 5
$task.Dispose()
上記のスクリプトをtestMorning.ps1としてUTF8のBOM付きで保存する。
次に、PowerShellで以下のように保存したスクリプトを実行して動作を確認する。
powershell -ExecutionPolicy Bypass -File "C:\Users\●●●\Desktop\testMorning.ps1"
すると、次にようにデスクトップの右下から通知が出る。
ミリ秒で表示時間、次に見出しワード"9時通知"と本文 "おはようございます。9時です。"を指定しているが、その次のパラメーターでアイコンを変えられる。
○タスクスケジューラーで定期実行を設定する
タスクスケジューラーは使える環境なので、Win+Rから[ファイル名を指定して実行]を呼び出し、
taskschd.msc
を入力してOKを押すとタスクスケジューラーが起動するので、「基本タスクの作成」をクリックし、名前と説明を記載し[次へ]を順次クリックしていく
「プログラムの開始」ではPowershell("C:\Program Files\PowerShell\7\pwsh.exe")へのパスと引数のオプションには、-ExecutionPolicy Bypass -File "C:\Users\●●●\Desktop\testMorning.ps1"とps1ファイルへのパスを入れる。
○設定したらテストしよう
"絶対"というものは宇宙が無限/未解明であるかぎり相対的なものである。つまりない。予期せぬエラーや意図せぬエラーは起こるものである。筆者の環境では、PS1がBOM付UTF8でないとアラートが文字化けしてたがテストして気が付いたものだ。しっかりとテストしておこう。設定が完了するとタスクスケジューラーライブラリに並ぶので、右クリックし[実行する]を選択する
実行されたが、表示時間が3秒(3000)では短い。席を外すことも考慮して100倍の300秒(300000)、文言もより注意をひくものにカスタマイズしてみよう
task.ShowBalloonTip(300000, "9時通知", "おい貴様、起きろ!朝9時だ。朝の提出物チェックしろ!!!!!", 1)
こういう強権的な言い方をされると、注意をひけども気分が悪いものだ。











![[USBで録画や再生可能]Tinguポータブルテレビ テレビ小型 14.1インチ 高齢者向け 病院使用可能 大画面 大音量 簡単操作 車中泊 車載用バッグ付き 良い画質 HDMI端子搭載 録画機能 YouTube視聴可能 モバイルバッテリーに対応 AC電源・車載電源に対応 スタンド/吊り下げ/車載の3種類設置 リモコン付き 遠距離操作可能 タイムシフト機能付き 底部ボタン 軽量 (14.1インチ)](https://m.media-amazon.com/images/I/51-Yonm5vZL._SL500_.jpg)