📉

Windowsを特定時刻に自動シャットダウンする

2024/12/13に公開

たまに起動して動作や操作テストをしたい Windows Server を Amazon EC2 で運用しているのですが、起動したままだと余分にお金がかかります。

うっかり停止忘れで放置しないための対策です。
EC2 を外から停止する仕掛けを作ることもできますが、ここでは起動環境によらず OS だけで対応してみました。

解決策

シンプルな方法として Widows タスクスケジューラーで希望時刻にシャッドダウンコマンドを実行してもらう事にしました。

コマンドプロンプトか PowerShell で以下の1行を実行します。

schtasks /create /tn Auto-Self-Shutdown /f /sc DAILY /st 02:00 /tr "C:\Windows\System32\shutdown.exe /s /f /d p:0:0 /t 0 /c GoodNight"

この例では、深夜 2:00 にまだ起動していたら、自動でシャッドダウンを開始します。
また、タスクで停止したことを後から区別できるようにコメントを残しておきます。

待ち時間なし /t 0 にしているので問答無用で落としてますが、60 秒などキャンセルできる猶予を作ることもできます。

メンテナンス

設定を変更する

解決策の schtasks /create /tn Auto-Self-Shutdown ~ を実行すれば上書きしてくれるみたいです。実行時刻の調整もしやすいですね。

設定を確認する

schtasks /query /tn Auto-Self-Shutdown

こんな感じで見れます。

フォルダー\
タスク名                                 次回の実行時刻         状態
======================================== ====================== ===============
Auto-Self-Shutdown                       2024/12/14 2:00:00     準備完了

スケジュールを削除する

schtasks /delete /tn Auto-Self-Shutdown

画面で見る

「タスク スケジューラ」で見る事が出来ます。

おわりに

人間たるもの、たまたま・うっかり忘れる事もあるので、自動的に動く仕組みで対策したいですね。

ちょっとした仕掛けで節約ライフのお役に立てれば。
それではまた!

コラボスタイル Developers

Discussion