タスクスケジューラで第2火曜日の翌日にサーバをリブートする方法

会社で管理しているサーバは、深夜にサービスを提供できる必要があまりなく、稼動していないことがそれほどクリティカルでないサーバだ。なので、月例のWindowsUpdateの人柱(鯖柱?)として使用している。というわけでそのサーバには、WindowsUpdate提供開始日に、WindowsUpdateを必ず適用している。
まあクリティカルなサーバではないが、リブートはできるだけサービスを受けているユーザが少ない時間帯がよいので、WindowsUpdateを実行した翌日の朝4時ごろリブートするように設定している。
月例のWindowsUpdateは米国時間の第2火曜日に提供開始される。よって時差がある日本の場合、第2水曜日に提供開始される・・・と思いきや、水曜日から始まっている月は「第2火曜日」の翌日は「第3水曜日」なのだ。

日 月 火 水 木 金 土
__ __ __ _1 _2 _3 _4
_5 _6 _7 _8 _9 10 11
12 13 14 15 16 17 18

この影響で、月例のWindowsUpdate提供開始日かその翌日に、サーバをリブートするようにタスクをスケジューリングするためには、すこしだけトリッキーな方法が必要だ。
その方法とは・・・・
簡単な方法なのだが結構な盲点だ。
正解は「第2火曜日に、86400秒(1日)以上後にリブートするようなタスクをスケジューリングする」

shutdown -r -t 86400

というようなコマンドが第2火曜日に実行されるように設定すればいいのだ。
ちなみに件のサーバは第2火曜日のAM4:00に172800秒後にリブートするような設定を行っている。

まあ参考まで。