蓋を閉じたWindowsノートパソコンをリモートからスタンバイ又は休止状態に設定する方法

Copyright (C) 2005 Fumio Kawamata
作成開始日: 2005年12月18日
WEB公開日: 2005年12月25日
最終更新日: 2007年01月06日
問い合わせ先は目次ページをご覧ください。

キーワード: BeyondExec、リモート、スタンバイ、サスペンド、休止、ハイバネーション、Remote、Execute、Standby、Suspend、Hibernation、SMB named pipe、ACPI

1. はじめに

筆者の自宅のパソコンは図1のような構成になっています。ノートパソコン(Lenovo ThinkPad X32 2672-A6J。OSはWindows XP SP2。以下、X32と記します)のフォルダを共有設定し、自作デスクトップパソコンからネットワーク接続し、メールや文書ファイルをノートパソコンに保存しています。出かけるときは、ノートパソコンだけ持ち出せば、出先でメールや文書の読み書きができるという寸法です。自宅ではX32をネットワークストレージとして使用しています。標記の方法を知るまでは、使用時はノートパソコンの蓋を開けて電源ボタンを押してスタンバイ状態からノーマル状態にし、使用が終わったら、蓋を閉じてスタンバイモードにしていました。ネットワークストレージとして利用するだけなら、蓋の開け閉めは必ずしも必要ではなく、むしろ余計な操作です。X32をリモートストレージとして利用するために、蓋を閉めたままで、リモートからスタンバイ状態の設定及びその解除ができないものか、各所調べて、2つのフリーソフトウェアを用いて目的を達成する方法を見つけたので、本文書によりその方法を解説します。

※この文書で紹介する設定することで、クラッカーによりノートパソコンを制御(予期せぬ電源ONや、スタンバイ又は休止状態の解除など)される可能性が(設定しないときに比較して)高まります。内容をご覧になり、危険性を理解した上で、自己責任で設定してください。

※気の短い方(笑)へ: Gammadyne CorporationWOL.EXE でMagic Packetを送付して電源ONあるいはスタンバイ又は休止状態の解除。BeyondLogicBeyondExec でスタンバイ又は休止状態設定です。

[図1 構成図]

2. ACPI対応の確認とBIOS設定

ノートパソコンのBIOS及びOSが Advanced Configuration & Power Interface (ACPI) に対応している必要があります。最近のノートパソコンはまず対応していることでしょう。

BIOSの、Wake On LAN機能を有効に設定します。あなたのノートパソコンのBIOSでは、Wake On LANではなく、別な表示(例えばWakeup On LAN)になっているかもしれません。X32の場合は、Config、Networkの順に選択すると、Wake On LANの設定ページが表示されます。Current setting Enabledとなっており、工場出荷時から、有効になっていました。あなたが制御したいノートパソコンのWake On LANがDisabledになっていたら、Enabledに変更してください。

3. Windowsの設定

スタート、設定、コントロールパネル、システムを順に選択します。システムのプロパティダイアログが表示されますので、ハードウェアタブをクリックし、デバイスマネージャボタンをクリックします。デバイスマネージャダイアログが表示されますので、ネットワークアダプタを選択します。X32でデバイスマネージャダイアログを開き、ネットワークアダプタを選択したときを図2に示します。

[デバイスマネージャ]
図2 デバイスマネージャ

無線LANを内蔵している場合などは、図2のように、複数のネットワークアダプタが表示されることと思いますので、有線ネットワークのアダプタを選択し、マウスを右クリックしてください。選択したネットワークのプロパティダイアログが表示されますので、電源の管理タブをクリックしてください。つづいて、「このデバイスでコンピュータのスタンバイ状態を解除できるようにする」及び「管理ステーションでのみ、コンピュータのスタンバイ状態を解除できるようにする」の2つのチェックボックスをチェックします。(調べてみたのですが、後者が何を意味するのかは分かっていません)。X32での設定例を図3に示します。表示される「警告」はよくお読みください

[電源の管理]
図3 電源の管理

次に、詳細設定タブをクリックします。プロパティリストボックスから、「Wake On 設定」を選択し、値リストボックスから「Magic Packet」を選択します。X32での設定例を図4に示します。

[詳細設定]
図4 詳細設定

設定が終わったら、OKボタンをクリックします。

4. フリーソフトウェアのインストール

これからダウンロードするフリーソフトウェアのうち、一つは実行形式ファイルそのもので、残りは、実行形式ファイルをZIP形式で圧縮したものです。どちらもインストーラは有しません。ダウンロードの前に、インストールするフォルダを決めておきましょう。筆者はD:\Free\Binフォルダにインストールしてます。もしあなたが「パスの設定」というキーワードをご存知ないようでしたら、C:\Windowsフォルダにインストールするのも一つの方法です。

まず、Gammadyne CorporationWOL.EXE を、先に決めたフォルダにダウンロードします。実行形式ファイルそのものなので、これでWOL.EXEのインストールは終わりです。

次に、BeyondLogicBeyondExec のページから、BeyondExec Version 2.05を任意のフォルダにダウンロードします。BeyondExecのダウンロード用リンクは、WEBページの下の方にあります。ファイル名は、beyondexecv205.zipです。このファイルを、先に決めたインストールフォルダに展開します。展開されるファイルのファイル名はbeyondexecv2.exeです。これでBeyondExecのインストールは終わりです。

5. ノートパソコンのMACアドレスの確認

ノートパソコンの電源をONにする、あるいは、スタンバイ又は休止状態を解除するには、WOL.EXEを用いてノートパソコンにMagic Packetを送付します。Magic Packetを送付するには、対象となるノートパソコンのMACアドレス(MACはMedia Access Controlの略)を知る必要があります。Magic Packetについて詳細を知りたい方は、AMD の、Magic Packet Technical White Paper(PDF) をご参照ください。

X32の場合、MACアドレスはマシンの底面のシールに記載されていますが、WindowsのDOS窓でipconfigコマンドを用いて調べることができます。(X32では、BIOSでも確認できます)。「DOS窓って何?」という方は、以下の手順に進む前に、身近の詳しい方に聞くなり、インターネット上で学習されることをお奨めします。DOS窓やDOS窓を利用したコマンドの実行方法の知識が無いと、以下の手順は難しいかもしれません。

DOS窓を開く方法はいくつかありますが、一例として次の方法を紹介します。「スタート」、「ファイル名を指定して実行」を順に選択すると、「ファイル名を指定して実行」というダイアログが表示されますので、名前欄にcmdとタイプして、OKボタンをクリックします。キャプション(フォームの上部に表示される文字列)が、「C:\WINDOWS\system32\cmd.exe」という、黒地のフォームが表示されます。これがDOS窓です。プロンプト(C:\>)に対して、「ipconfig /all」とタイプしてEnterキーを押します。図5にipconfigコマンドの実行例を示します。図中の、Physical Address欄の01-23-45-67-89-ABがMACアドレスです。(-ではなく、:で区切ってMACアドレスを表示する場合もあります。なお、図中のMACアドレスは架空のものです)。


Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>ipconfig /all

Windows IP Configuration

        Host Name . . . . . . . . . . . . : Secret
        Primary Dns Suffix  . . . . . . . :
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Intel(R) PRO/1000 CT Network Connect
ion
        Physical Address. . . . . . . . . : 01-23-45-67-89-AB
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.0.5
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1
        DHCP Server . . . . . . . . . . . : 192.168.0.1
        DNS Servers . . . . . . . . . . . : 192.168.0.1
        Lease Obtained. . . . . . . . . . : 2005年12月24日 9:37:23
        Lease Expires . . . . . . . . . . : 2005年12月25日 9:37:23

C:\>

図5 ipconfigコマンドによるMACアドレスの調べ方

6. リモートから電源ONあるいはスタンバイ又は休止状態を解除する方法

DOS窓から、WOLコマンドを実行します。コマンドには、対象とするMACアドレスをオプションとして指定します。ここで注意が必要です。指定する文字列は英数字のみです。図5の場合は、0123456789ABが指定すべき文字列となります。実際の使用例を図6に示します。


C:\>wol 123456789AB                                                             
Wake-On-LAN Utility 1.1
Copyright (C) 2000-2003 By Greg Wittmeyer
All Rights Reserved

Wake-up packet sent successfully

C:\>

図6 WOLコマンドによる電源ONあるいはスタンバイ又は休止状態の解除方法

WOL.EXEをインストールしたフォルダがPATH設定されていない場合は、図7のような警告メッセージが表示されます。この場合は、インストールしたフォルダを含めて入力してください。例えば、インストール先が「C:\Freesoft」の場合は、「C:\Freesoft\wol 123456789AB」のように入力します。


'wol' は、内部コマンドまたは外部コマンド、                   
操作可能なプログラムまたはバッチ ファイルとして認識されていません。             

図7 PATH設定されていない場合の警告メッセージ

7. リモートからスタンバイ状態に設定する方法

DOS窓から、beyondexecv2.exeを実行します。コマンドには、いくつかのオプションを指定します。詳細はBeyondExecのWEBページを読んでいただくとして、X32というホスト名のマシンを、Administratorとしてスタンバイ状態に設定する方法を図8に示します。


C:\>beyondexecv2.exe \\X32 -u Administrator -d Suspend -l 0

BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkStations.  
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[X32] Establishing Connection . . .

図8 スタンバイ設定の例

「Establishing Connection . . .」と表示されたあとで、図9に示すような、リモート接続ダイアログが表示されますので、パスワードをタイプしてOKボタンをクリックします。

[詳細設定]
図9 リモート接続接続ダイアログ

認証が成功すると、図8の表示のあとに、以下のように表示されます。


[X32] Copying Service to \\X32                        
[X32] Command Successfully Issued to X32 on Pipe 1.              

C:\>

図10 スタンバイ設定の例(続き)

「Copying Service to \\X32」という表示が示すように、初めてBeyondExecを実行する場合は、サービスプログラムがリモートマシンにコピーされます。(メカニズムとしては、自分自身の一部を転送していると思うので「コピー」とは違うような気もしますが...)。コピーされるファイルのファイル名は「rexesvr.exe」で、コピー先は「C:\Windows\System32」フォルダです。

7. リモートから休止状態に設定する方法

リモートからスタンバイ状態に設定する方法とほぼ同じで、「-d Suspend」の代わりに、「-d Hibernate」とします。例を図11に示します。


C:\>beyondexecv2.exe \\X32 -u Administrator -d Hibernate -l 0

BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkStations.  
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[X32] Establishing Connection . . .
[X32] BeyondExec service already installed on remote machine.
[X32] Command Successfully Issued to X32 on Pipe 1.

C:\>

図11 休止設定の例

既にリモートマシンに「rexesvr.exe」がコピーされているので、「Copying Service to \\X32」の代わりに「BeyondExec service already installed on remote machine.」と表示されます。

8. リモートからrexesvr.exeを削除する方法

リモートマシンにコピーされたrexesvr.exeを削除するには、「-r」オプションを指定してBeyondExecを実行します。例を図12に示します。


C:\>beyondexecv2.exe \\X32 -u Administrator -r

BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkStations.  
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[X32] Establishing Connection . . .
[X32] Uninstalling Driver . . .

C:\>

図12 リモートマシンのrexesvr.exeを削除する例

9. バッチプログラムによる実行

バッチプログラムを作成し、作成したバッチファイルのショートカットをスタートアップに登録しておくと、キーボードから入力するのはパスワードだけで済むようになるので便利です。筆者が作成したバッチファイルを例として以下に示します。

電源ONするバッチプログラムです。X32という文字列及びWOL.EXEのあとの文字列は、あなたが制御したいノートパソコンのホスト名及びMACアドレスにそれぞれ修正してください。対象マシンの状態を確認するためにpingコマンドを実行していますが、必ずしも必要という訳ではありません。ファイル名は、例えばWakeUpX32.BATのようにします。


@echo off
    rem Copyright (C) 2005 Fumio Kawamata
    echo ***** This batch program will wake up X32. *****                      
    ping -n 3 X32
    WOL.EXE 0123456789AB
:Loop
    ping -t x32
    echo *** Restarting ping command. ***
    goto Loop

図13 電源ONするバッチプログラム

スタートアップにバッチプログラムを登録して実行すると、DOS窓に、図14に示すようなメッセージが表示されます。「Reply from ...」という文字列が表示されたら、対象のノートパソコンから応答があったことを示しますので、DOS窓の右上の×ボタンをクリックしてDOS窓を閉じてください。コントロールキーとCキーを同時に押して、「バッチ ジョブを終了しますか (Y/N)?」のメッセージに対し、YをタイプしてEnterキーを押すことで、DOS窓を閉じることもできます。


***** This batch program will wake up X32. *****                               

Pinging X32 [192.168.0.3] with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.0.3:
    Packets: Sent = 3, Received = 0, Lost = 3 (100% loss),
Wake-On-LAN Utility 1.1
Copyright (C) 2000-2003 By Greg Wittmeyer
All Rights Reserved

Wake-up packet sent successfully

Pinging x32 [192.168.0.3] with 32 bytes of data:

Request timed out.
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128

図14 図13のバッチプログラムの実行例

スタンバイ状態に設定するバッチプログラムです。X32という文字列をあなたが操作したいノートパソコンのホスト名に修正してください。ファイル名は、例えばStandbyX32.BATのようにします。(standbyは動詞ではないのですが、ま、気にしない、気にしない。)


@echo off
    rem Copyright (C) 2005 Fumio Kawamata
    echo ***** This batch program will standby X32. *****                      
    BeyondExecV2.exe \\X32 -u Administrator -d Suspend -l 0
:Loop
    ping -t x32
    echo *** Restarting ping command. ***
    goto Loop

図15 スタンバイ状態に設定するバッチプログラム

図15のバッチプログラムの実行例を図16に示します。「Request timed out.」という文字列が表示されたら、対象のノートパソコンがスタンバイ状態になったものと判断し、DOS窓を閉じてください。ネットワークケーブルの断線やハブの故障によっても、応答が返らないことがありますので、pingコマンドに対して応答がないことが、スタンバイ状態になったことを意味するとは限らないのですが、他に有効な判定方法がありません。


***** This batch program will stanby X32. *****                                

BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkStations.
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[X32] Establishing Connection . . .
[X32] BeyondExec service already installed on remote machine.
[X32] Command Successfully Issued to X32 on Pipe 1.

Pinging x32 [192.168.0.3] with 32 bytes of data:

Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Request timed out.
Request timed out.

図16 図15のバッチプログラムの実行例

休止状態に設定するバッチプログラムです。X32という文字列をあなたが操作したいノートパソコンのホスト名に修正してください。ファイル名は、例えばHibernateX32.BATのようにします。


@echo off
    rem Copyright (C) 2005 Fumio Kawamata
    echo ***** This batch program will hibernate X32. *****                    
    BeyondExecV2.exe \\X32 -u Administrator -d Hibernate -l 0
:Loop
    ping -t x32
    echo *** Restarting ping command. ***
    goto Loop

図17 休止状態に設定するバッチプログラム

図17のバッチプログラムの実行例を図18に示します。スタンバイ状態に設定する場合と同様、「Request timed out.」という文字列が表示されたら、DOS窓を閉じてください。


***** This batch program will hibernate X32. *****                             

BeyondExec V2.05 - Spawn Remote Processes on Windows NT/2000/XP WorkStations.
Copyright(C) 2002-2003 Craig.Peacock@beyondlogic.org
[X32] Establishing Connection . . .
[X32] BeyondExec service already installed on remote machine.
[X32] Command Successfully Issued to X32 on Pipe 1.

Pinging x32 [192.168.0.3] with 32 bytes of data:

Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Request timed out.
Request timed out.

図18 図17のバッチプログラムの実行例

リモートマシンがネットワーク的に動作しているかどうかを確認するバッチプログラムです。ファイル名は、例えばPingingX32.BATのようにします。


@echo off
    rem Copyright (C) 2005 Fumio Kawamata
    echo ***** This batch program will check status of X32 by using ping command. *****
:Loop
    ping -t X32
    echo *** Restarting ping command. ***
    goto Loop

図19 ネットワーク的に動作しているかどうかを確認するバッチプログラム

図19のバッチプログラムの実行例を図20に示します。図20では、スタンバイあるいは休止状態が解除された場合の例です。


***** This batch program will check status of X32 by using ping command. ***** 
Ping request could not find host X32. Please check the name and try again.
*** Restarting ping command. ***
Ping request could not find host X32. Please check the name and try again.
*** Restarting ping command. ***

Pinging X32 [192.168.0.3] with 32 bytes of data:

Reply from 192.168.0.3: bytes=32 time<1ms TTL=128
Reply from 192.168.0.3: bytes=32 time<1ms TTL=128

図20 図19のバッチプログラムの実行例

10. スタンバイと休止

WEBページで調べたところでは、すぐあとで使うことが分かっていればスタンバイ、長時間使わないときは休止設定にするのが一般的なようです。筆者はX32にBIOSパスワードを設定しているのですが、BIOSパスワードを設定した状態で、休止状態から復帰する場合は、BIOSパスワード入力画面が表示され、蓋を開けてキーボードを操作しなければなりません。休止状態にすると、蓋を閉めたままで使いたいという筆者の希望に合致しないので、筆者はスタンバイ状態に設定しています。

11. BeyondExecの他の機能

BeyondExecのWEBページ をご覧になった方は先刻ご承知とは思いますが、BeyondExecにはシャットダウン機能もあります。私のWEBページでは、ノートパソコンに特化して利用方法を紹介していますが、デスクトップパソコンも制御可能です。また、複数コンピュータをグルーピングして、同時に制御することもできます。

12. 本文書中で使用している画像の著作権表示

  1. このWEBページの背景画像(Ring Serverとうっすら見える画像)は、RingServer project のAさん作です。
  2. 図1のノートパソコン画像は、株式会社リコーのプリントアウトファクトリーの素材集の中から使用させていただいてます。Copyright (C) 2003-2005 RICOH Co., Ltd. All Rights Reserved.
  3. 図1のスイッチングハブ及びルータの画像は、アライドテレシス株式会社のプレゼンテーション素材集の中から使用させていただいてます。Copryrght (C) Allied Telesis K.K. All Rights Reserved.
  4. 図1のデスクトップパソコンの画像はMicrosoft Corporationのクリップアートの中から使用させていただいてます。Copyright (C) Microsoft Corporation.
  5. 画面のキャプチャ画像は、Microsoft Windows XPにより生成されたものです。

[OpenLaboratoryへ戻る]

更新履歴

  1. 2005/12/25 著作権表示を文末から文頭に移動し、連絡先は目次ページを参照するように修正。
  2. 2005/12/29 仕切り線画像の使用を止めたので、画像の著作権表示部分を修正。
  3. 2005/12/30 図1中の英文誤記修正。
  4. 2006/03/11 あとがき削除。
  5. 2007/01/06 物理タグの使用停止。