今回はPowerShellで通知プログラムを作る上で必要となった情報を考えてみた
タスクスケジューラ間隔を限りなく密に行う方法を公開する
※2022年9月の仕様に改訂
環境:Windows10、PowerShellキックバッチ保有、Administrator権限保有
・PowerShellのキックバッチファイルはそのまま利用する
・タスクスケジューラを起動するため、
Windows検索より「タスクスケジューラ」と検索する。
・必ず右クリックで「管理者として実行」を選択し、
「タスクスケジューラ」を起動する。
・右側のサイドバーにある「基本タスクの作成」を押下し、
基本タスクの作成を行う。
・名前は末尾に来やすい日本語がおススメ。※説明記述は任意(空でも可) 次へ
・間隔を「1回限り」とする、実行スクリプト(バッチファイル)を指定。次へ
・時刻は現在以前のものを使う。次へ
・「タスクでどのタスクを実行しますか」は「プログラムを実行」を選択。次へ
・「プログラム/スクリプト」で、実行したいキックバッチを選択。次へ
・最後に「完了」を押下。
・タスクスケジューラ中央画面の下段の「アクティブなタスク」に
タスクが追加されたことを確認する。
・該当タスクをダブルクリックする。
※タスクスケジューラライブラリに自動的に移る
・タスクスケジューラ中央画面上段の該当タスクを右クリックし、
「プロパティ」を押下。
・「全般」タブより「ユーザーまたはグループの変更」を押下。
・タスク実行時に使うユーザーアカウントを変更する。
「選択するオブジェクト名」を変更する。
ここではビルトインアカウントである「SYSTEM」と入力する※全部大文字
・「名前の変更」を押下しエラーが出ないことを確認する。
・構成は「windows10」とする
・「トリガー」タブを選択し、該当指定日時を選択後、下にある編集を押下する
・「繰り返し間隔」にチェックを入れ、1分間と書き換える※手打ちできる
・「継続時間」を「無期限」に設定する。
・全ての設定が終わったら、OKをクリック。
ここでのミソは、まず管理者権限で「タスクスケジューラ」を起動すること
そうしないと一部タスクの編集を行うことができない
また、タスクのビルトインアカウントがSYSTEMであること
これにしないとタスクを任意の情報に編集できない
また、〇分間というのも書き換えることができる
ただし1分以下にはできないため、タスクスケジューラーの限界は1分である
これで大丈夫じゃないかと思う
この方法で通知プログラムを毎分走らせてアラート出す等ができると思う
PowerShellキックバッチの作り方は以下に示してある
PowerShellのポリシーRestrictedで実行