システムが不安定になったり、応答がなくなったりした場合には、リモートからシャットダウンや再起動ができると便利である。リモートからシステムをシャットダウンしたい場合にはshutdown.exeコマンドを使う。GUI画面でも、コマンドラインでも利用できる。
対象OS:Windows 2000/Windows XP/Windows Server 2003
Windowsシステムの動作が不安定になったり、GUI画面の応答が遅くなったりした場合、システムを再起動させると症状が改善もしくは解決したりすることはそう珍しいことではない。だが、GUI画面そのものを操作できないような状態の場合には(画面表示がハングアップしているような場合には)、システムを再起動させることは非常に困難である。このような場合は、リモートからマシンをシャットダウンしたり、再起動させることができると便利である。
リモートからシステムをシャットダウンさせるには、GUIで行う方法と、コマンドプロンプト上でコマンドを実行する方法の2種類がある。いずれの方法を使ってもよいが、素早くシステムをシャットダウンしたり、再起動させるためには、コマンドプロンプト上で作業を行う方が簡単でよいだろう。また、Telnet経由でシステムを利用している場合や、電源ダウンのような障害を検知して(UPSに接続されている)他のサーバーなども連鎖的に停止させたいといった用途では、コマンドライン版のツールが便利である。
GUIのツールを使ってシステムをシャットダウンするためには、まず[コンピューターの管理]ツールを起動し、リモートのコンピューターへ接続する。[コンピューター]の管理ツールは、デスクトップ上の[マイコンピューター]アイコンを右クリックし、ポップアップメニューから[管理]を選択すると起動する。
このツールを起動させると、デフォルトでは、ローカルコンピューターを管理するようになっている。そこでシャットダウン/再起動させたいリモートのコンピューターへ接続し直す。
リモートのコンピューターへ接続したら、次はそのコンピューターの[プロパティ]を表示させる。
シャットダウンを行うためのメニューは、[プロパティ]ウィンドウの[詳細設定]タブにある[起動/回復]メニューから起動する。
[A]
[起動/回復]ダイアログには、シャットダウン設定を起動するためのボタンが用意されている。
[B]
[シャットダウン]ダイアログでは、ユーザーのログオフやシャットダウン、再起動などを制御することができる。
[C]
このダイアログにある[操作]と[アプリケーションの強制終了]をそれぞれ適宜選択し、[OK]をクリックすると、すぐに実行される。
GUIを使った方法は、初心者には分かりやすいが、少々わずらわしく感じる場合もある。またGUIが利用できないような環境の場合は(例えばTelnetでログオンして作業している場合など)、コマンドプロンプト上からシャットダウンを行う方が便利である。
コマンドプロンプトからシャットダウンを行うためのツールとして、Windowsではshutdown.exeというコマンドが用意されている。ただしこのコマンドは、Windows 2000ではResource Kitに含まれているが、Windows XPやWindows Server 2003では標準コマンドとしてあらかじめシステムに用意されている。
Windows 2000用のResource Kitに含まれているshutdown.exeでは、次のようにしてリモートのコンピューターを指定することができる。
C:\>shutdown \\server
使い方は、「shutdown /?」とすれば表示されるし、パラメーターなしに単に「shutdown」と入力して実行すれば、次のようなGUI画面が表示され、コンピューターの指定や表示させるメッセージを指定することができる。
Windows XPやWindows Server 2003では、Resource Kitなどを導入しなくても、もともとこのコマンドが用意されている。GUI機能も少し拡張されており、同時に複数のコンピューターをシャットダウンする機能などが追加されている。
以下はWindows XP用のshutdown.exeのヘルプメッセージの例である(引数なしか「/?」を指定すると表示される)。Windows Server 2003用のshutdown.exeでは、さらにいくつかのオプションパラメーターが追加され、より細かくシャットダウンの理由などを記録できるようになっている(Windows Server 2003のヘルプメッセージでは、シャットダウンの理由コードの一覧も表示される)。
C:\>shutdown
使用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\コンピューター名] [-t xx] [-c "コメント"] [-d up:xx:yy]
引数なし このメッセージを表示します (-? と同じです)
-i GUI インターフェイスを表示します。このオプ
ションは最初に指定する必要があります
-l ログオフ (-m オプションとは併用できません)
-s コンピューターをシャットダウンします
-r コンピューターをシャットダウンして再起動します
-a システム シャットダウンを中止します
-m \\コンピューター名 シャットダウン/再起動/中止するリモート コン
ピュータの名前です
-t xx シャットダウンのタイムアウトを xx 秒に設定
します
-c "コメント" シャットダウンのコメントです (127 文字まで)
-f 実行中のアプリケーションを警告なしに閉じます
-d [u][p]:xx:yy シャットダウンの理由コードです
u = ユーザー コード
p = 計画されたシャットダウンのコード
xx = 重大な理由コード (255 以下の正の整数)
yy = 重大ではない理由コード (65535 以下の正の
整数)
Windows 2000のResource Kit版と違い、GUI画面を表示させるには「-i」オプションを指定する。
例えばこのコマンドを使って、リモートのコンピューターをシャットダウンさせるためには、次のようにパラメーターを指定する。
C:\>shutdown -s -m \\server01 -c "システムをシャットダウンします"
「-s」はシャットダウンするという意味、「-m \\server01」はシャットダウンするコンピューターの指定、「-c "……"」はシャットダウン先のコンピューターに表示させるメッセージである。「-s」の代わりに「-r」を指定すると、システムを再起動させることができる。また「-t 数字」を指定すると、指定された時間だけ待ってからシャットダウンさせることができる(デフォルトは30秒)。また「-d」オプションを使って、イベントログに記録するシャットダウンの事由コードを指定することもできる。
以上いずれの方法を使っても、リモートのシステムをシャットダウンさせると、相手のコンピューターには以下のようなダイアログが表示される。これによりシャットダウンまでの時間やシャットダウンの理由(メッセージ)などを知ることができる。ユーザーが利用しているコンピューターを強制的にシャットダウンする場合は、待ち時間も長くするとともに、適切なメッセージを指定して、ユーザーが戸惑わないようにするべきであろう。
もしシャットダウン処理を中止したい場合は、「-a」オプションを指定して、shutdownコマンドを再実行すればよい。これにより、ダイアログの表示が消え、シャットダウン処理は中断される。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.