前回、windows 2000 server に Vista の shutdown.exe を利用して、再起動スケジュールをタスクスケジュールに登録する方法を「Windowsをタスクで自動シャットダウン&再起動 その1」で書きましたが失敗。
でも、以下の方法で解決できました。
マイクロソフトが配布しているツールで「PsTools」というもの中に「PsShutdown」というものがあって、それを使うとタスクに登録したスケジュール通りにシャットダウン&再起動ができた。
Windows XP以上のOSとWindows 2003 Server以上のサーバーOSので使えるようです。
使い方
-
上記からPsTools.zipをダウンロードして任意のフォルダで解凍。
(例:Cドライブ c:\)
-
解凍したフォルダ(PsTools)内のpsshutdown.exeをダブルクリックするとコマンドプロンプトが起動する。
-
以下を入力してEnterを押すと再起動が実行されます。
c:\PsTools\psshutdown.exe -r
上記で成功したので、「c:\PsTools\psshutdown.exe -r」をタスクスケジューラに登録して
毎日6:00に再起動を実行することに成功した。
書式とパラメータ
psshutdown [[\\computer[,コンピュータ名[,..] | @file [-u ユーザー名 [-p パスワード]]] -s|-r|-h|-d|-k|-a|-l|-o [-f] [-c] [-t nn|h:m] [-n s] [-v nn] [-e [u|p]:xx:yy] [-m "メッセージ"]
例:1分後に再起動
c:\PsTools\psshutdown.exe -r -t 00:01
computer
リモートコンピュータまたはコンピュータを指定でコマンドを実行します。 ローカルシステム上で実行するコンピュータ名を省略した場合、ワイルドカード(\ \ *)を指定した場合、現在のドメイン内のすべてのコンピュータ上でコマンドを実行
@file
指定されたテキストファイルに記載されている各コンピュータ上でコマンドを実行
-u
リモートコンピュータへのログインのための指定オプションのユーザー名を指定します。
-p
パスワードを指定
(省略した場合はこれを隠しパスワードを入力するプロンプトが表示される)
-a
シャットダウンの中止(カウントダウンが進行している間で可能)
-c
対話型ユーザーによるシャットダウンの中止を許可
-d
サスペンド状態にする
-e
イベントログに書き込み理由コードを指定。ユーザーコードなら「u」、計画されたコードなら「p」でサブオプションとして、「
xx:主な理由コード(256未満)」と
「yy:マイナーな理由コード (65536未満)」を指定
-f
シャットダウンするまでの間に、実行中のアプリケーションのデータを保存する機会を作る
-h
休止状態にする
-k
電源オフ (再起動がサポートされていない場合)
-l
コンピュータをロック
-m
ログオンしているユーザーに表示するメッセージを指定。(シャットダウン時のカウントダウンが始まります。)
-n
リモートコンピュータへの接続を秒単位でタイムアウトを設定
-o
ログオフ
-r
再起動
-s
シャットダウン(電源オフ)
-t
シャットダウンするまでのナノ秒数 (デフォルト: 20秒)または時分で指定(ちなみに 1秒 = 1,000,000,000 ナノ秒)
-v
イベントログを表示
※パラメータの説明は英文を翻訳サイトで翻訳したため、内容が間違っているところがあるかもしれません。(きっとあるので100%信用しないようにお願いします。)