この場合のタスクスケジューラとはWindowsのタスクスケジューラで,アイドルの時間設定というのは,下の図のチェックを入れた項目(2種類の時間設定)です.
自分は70分間(4200秒間)アイドル状態が続いたときタスクが実行されるように指定したかったので,
「コンピュータのロック」をコマンドで実行する方法 - Windows - Project Group を参考にして,ping localhost -n 4200 > nul というコマンドを使いました.
以下は,そもそも自分がどうしてこんなことをしたのかという話です.
夕飯を作っているとき,ときどき時刻を確認したい.柱時計は暗くて見えないことが多い.近くにある給湯器のリモコン表示は普段バックライト点灯時間は設定できるが,常時点灯にはできなくて,ふだんは消灯されており,いちいちメニューキーをタッチしなければほぼ見えない(表示はされている).太陽光発電の状態を表示する端末は発電時常時点灯にしてあるが,数歩ぶん離れていて,その場で見ることができない.ならばPCはすぐうしろにあるので,それを使わない手はない.うしろを振り返るだけなんだが,しかしタスクバーの時刻表示は小さすぎて顔を近づけなければ見えない.
なので,
time.is
というサイトをつねに表示することにしたのだが,それが他の表示を邪魔してはいけないし,他の表示がそれを邪魔してもいけない.そこで,それは独立したウィンドウで開くことにした.しかし,それがあまり出しゃばると他のPC作業に差し障りがあるので,ある程度大きさは控えめにする必要がある.
だが,かつて
fliqlo.com
というスクリーンセーバーを使っていたことを思い出した.これなら全画面で表示されるのできわめて見やすい.しかし,再開時にいちいちログオン画面にもどるのは面倒くさい.調理作業中に,なくなりそうな食材や調味料をGoogleショッピングリストに入れておきたいことがたびたびあるのだ.なので再開時にログオン画面にもどるという設定にはしてなかった.
でもそれだとセキュリティ的に問題がある.調理をしているときは自分がそこにいるので問題ないだろうが,レタスをとりに庭に出てそのまま庭で気を失ってしまったり,クルマに忘れ物をとりにいきそのまま車庫で気を失ってしまったときに,たまたまハッカー的泥棒が侵入したら,やられ放題である.
というわけで,数分でfliqloスクリーンセーバーが動き出しても再開時にいちいちログオン画面にはもどらないけれど,調理の終わる1時間後ぐらいには再開時にログオン画面ににもどるようにしたかったのだ.
でもって,タスクスケジューラで1時間後ぐらいに画面をロックするというタスクが実行されるようにアイドルの時間を設定したんだが,条件をいろいろかえて何度もためしてみたんだけど,どうやっても5分ぐらいでタスクが実行されてしまう.
そこで,少し調べてみらた,
docs.microsoft.com
というページがあり,そこに
注意
Duration と WaitTimeout の設定は非推奨です。 これらは引き続きタスク スケジューラのユーザー インターフェイスに存在し、インターフェイス メソッドは有効な値を返す可能性がありますが、使用されなくなりました。
と書かれてはいたんだが,なんか意味がよくわからなくて,
jm1xtk.com
というサイトに
※ 注意事項
マイクロソフトは、「Windows 8.1 以降において、次の間アイドル状態の場合のみタスクを開始する に設定されている場合、時間が経過しなくてもタスクが実行されてしまうことがある。マイクロソフトはこの問題を認識しており、本事象は既知の制限事項である。解決方法は、手順5 設定タブのタスクが既に実行中の場合に適用される規則にて、[既存のインスタンスを停止する] を選択すれば解決する。」とのことである。
と書かれていて,ようやく納得したのでした.
ただし,引用の末尾に書かれているように[既存のインスタンスを停止する] を選択しても,やっぱりだめでした.