WindowsOSを定期的に再起動させる方法
定期的にWindowsサーバを再起動させたいことがあったので、その方法を調べました。
WindowsOSを定期的に再起動させるためには、タスクスケジューラに再起動用のタスクを設定してやる必要があります。 シャットダウンを行うための shutdown.exe が、C:\Windows\System32にあるので、これを実行します。
shutdown.exe にパラメータを指定することで、シャットダウンだけではなく再起動やログオフの設定を行えます。 コマンドライン上で、
shutdown をパラメータ無しで実行することでヘルプが確認できます。 以下の内容はヘルプで示される使用方法とパラメータ部分の抜粋です。
使用方法
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e | /o] [/hybrid] [/soft] [/f] [/m \\コンピューター][/t xxx][/d [p|u:]xx:yy [/c “コメント”]]
パラメータの詳細
パラメータ | 説明 |
---|---|
引数なし | ヘルプを表示します。「/?」と入力するのと同じです。 |
/? | ヘルプを表示します。オプションを入力しないのと同じです。 |
/i | グラフィック ユーザー インターフェイース (GUI) を表示します。このオプションは最初に指定する必要があります。 |
/l | ログオフします。/m または /d オプションとは併用できません。 |
/s | コンピューターをシャットダウンします。 |
/r | コンピューターをシャットダウンして再起動します。 |
/g | コンピューターをシャットダウンして再起動します。システムの再起動後に、登録したアプリケーションを再起動してください。 |
/a | システムのシャットダウンを中止します。これは、タイムアウト期間にのみ使用できます。 |
/p | タイムアウトまたは警告なしでローカル コンピューターの電源を切ります。/d および /f オプションと併用できます。 |
/h | ローカル コンピューターを休止状態にします。/f オプションと併用できます。 |
/e | コンピューターの予期しないシャットダウンの理由を記録します。 |
/m \\コンピューター | 対象となるコンピューターを指定します。 |
/t xxx | シャットダウンまでのタイムアウト期間を xxx 秒に設定します。 有効範囲は 0 から 315360000 (10 年) までで、既定値は 30 です。タイムアウト期間が 0 より大きい場合、/f パラメーターが暗黙的に指定されます。 |
/c “コメント” | 再起動またはシャットダウンの理由にコメントを付けます。最大 512 文字まで入力できます。 |
/f | ユーザーに警告せずに実行中のアプリケーションを強制終了します。 /t パラメーター に 0 より大きい値が指定された場合、 /f パラメーターも暗黙的に指定されます。 |
/d [p|u:]xx:yy | 再起動またはシャットダウンの理由を指定します。 p は再起動またはシャットダウンが計画されていることを示します。 u は理由がユーザーにより定義されることを示します。 p と u のどちらも指定されていない場合は、再起動またはシャットダウンは計画されていません。 xx は主因の番号です (256 未満の正の整数)。 yy は副因の番号です (65536 未満の正の整数)。 |
再起動のコマンド
shutdown.exe -r -t 60
再起動をするために -r を指定します。 また -t で60秒の猶予時間をもっているのは、スリープ状態や休止状態から急にシャットダウンするのは不安定でよくないからです。 -t を指定すると、-fも暗黙的に指定され、アプリケーションを強制終了させるので、シャットダウンが中断される心配もありません。
再起動のタスク作成
再起動のコマンドを決めたので後は、このコマンドをバッチファイルとして保存してスケジューラに登録するか、 あるいはshutdown.exeに引数指定ありで、スケジューラに登録するかいずれかの方法で、タスクを作成します。
バッチファイルにしておいたほうが、再起動前に処理を行うなどの融通が利くので、上記コマンドをshutdown.batとして保存してき利用することにします。
以下の手順でタスクに登録して完成です。
-
コントロールパネル -> 管理ツール -> タスク スケジューラ をクリックし起動します。右側の操作パネルから、[基本タスクの作成]をクリックしてタスクを作成します。
-
タスクの名前と説明を入力して、[次へ]をクリックします。
-
タスクのトリガー(タスクを起動する間隔)を選択します。
-
上で選択したトリガーの詳細を入力し、[次へ]をクリックします。(画面は選択したトリガーによって異なります。)
-
操作で[プログラムの開始]を選択し、[次へ]をクリックします。
-
プログラム/スクリプトで作成したバッチファイルを選択し、[次へ]をクリックします。
-
内容を確認し、[完了]をクリックします。
これで定期的に再起動するためのタスクの登録が完了しました。
上のコマンドを作成して実行しましたが、コンピューターをスリープの状態にしておかないと作動しないように思います。わたしの場合、一旦シャットダウンしてしまうと、指定時刻に再起動しませんでした。コンピューターをシャットダウンした状態から自動的に再起動させるにはどうすればいいのか、お教え下さい。