nWOL: Wake on LANを使った遠隔PC起動管理ツール
(ダウンロードはこちら)
Version 1.6.74 をリリースしました! (2021/1/10)
Wake on LANを使ってPCを遠隔起動するツールです。シンプルだけど使って気持ちいいツールを目指して作ってみました。
・ LANに接続されている機器のMACアドレス、IPアドレス、ホスト名を高速で検索
・ LAN内PCのIPアドレスの変化を自動検知し更新。固定IPアドレス化不要。
・ DDNSに対応。(Ver 1.6新機能)
・ ホストの起動停止時のサウンド機能。(Ver 1.6新機能)
・ マジックパケット送出からの経過時間を表示遠隔PCの起動状態をリアルタイムで表示
・ 遠隔PCの起動状態をタスクトレイ通知領域にリアルタイムに表示
・ マジックパケット送信などをコマンドから行えるコンソールコマンドを提供
PCを遠隔から起動するためには、マジックパケットをPCに送信しWake on Lan(WOL)のしくみで起動させます。世の中には、マジックパケットを送信するGUIツールはいろいろありますが、PCをWake on LANで時刻起動させたい場合など、バッチファイルやタスクスケジューラなどから実行できるコマンドを使ってマジックパケットを送信させたいというケースもたくさんあるようです。
今回 nWOLというマジックパケットを送信できるGUIツールの補助的な機能として、nWOLc.exeというコマンドを作ったのですが、これを使うとnWOLを使っていなくても、(nWOLc.exe単体で)マジックパケットを送信できるようになりますので、ご紹介します。
マジックパケット送信以外にもいくつかの処理が可能です。以下の処理が実行できます。
nWOLはnWOLのホームページからダウンロードできます。インストーラでnWOLをインストールすると、C:\Program Files\nWOL というフォルダに、nWOLc.exe がインストールされます。nWOLをインストールしたくない方は、zip 版をダウンロードしてください。
nWOLc.exeの詳細なコマンド解説は以下のページにありますのでご参照ください。
参考リンク:nWOLc マニュアル
nWOLc.exe で実行できるオプションは以下の通りとなっています。
nWOLc: nWOL console command (Version 1.5.25) -l ["regex"] List all or regex-matched hosts -a Send magic packet to all WOL capable hosts -h hostnames... Send magic packet to specified WOL capable hosts -r "regex" Send magic packet to regex-matched WOL capable hosts -m mac [ip [mask]] Send magic packet -p hostname Check status of a host(or IP) (retcode=0 when online) -w hostname waitsec Wait for a host(or IP) to come online (retcode=0 when online) -t sec Set ping timeout in seconds for -p or -w (default=1) -i Ignore case when -l or -r -n No output messages -? Help
ホスト名を指定して処理を実行する場合などは nWOLの設定がされていなければならないのですが、-m, -p, -wについては、IPアドレス直接指定であれば、nWOLの設定がされていなくても、nWOLc.exe 単独で実行可能です。それぞれ以下の処理が可能です。
それぞれの実行方法について、説明していきたいと思います。
-m オプションは "-m mac [ip [mask]]" のように指定します。それぞれ、MACアドレス、IPアドレス、ネットマスクを指定します。
実際に -m オプションを使ってマジックパケットを送信するコマンド例を以下に示します。
コマンド例 | 説明 |
---|---|
nwolc -m abcdef123456 |
同一LAN内に存在し、MACアドレスが abcdef123456 であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.1.20 |
同一LAN内に存在し、MACアドレスが abcdef123456、IPアドレスが192.168.1.20 であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.10.20 255.255.255.0 nwolc -m abcdef123456 192.168.10.20 24 nwolc -m abcdef123456 192.168.10.20/24 |
ルータを経由した先に存在し、MACアドレスが abcdef123456、IPアドレスが192.168.10.20、ネットマスクが 255.255.255.0 (24bit) であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.10.255 |
ルータを経由した先に存在し、MACアドレスが abcdef123456、ディレクティッドブロードキャストアドレスが192.168.10.255 であるホストにマジックパケットを送信する。 |
-p オプションは "-p hostname" のように指定します。hostname にはIPアドレスを指定できます。
-p オプションのコマンド例を以下に示します。
コマンド例 | 説明 |
---|---|
nwolc -p 192.168.1.6 |
192.168.1.6 の起動状態を調べる。 |
nwolc -p 192.168.1.6 -t 3 |
192.168.1.6 の起動状態を調べる。pingのタイムアウトを3秒に設定する。 |
※参考:ホストの起動状態はpingコマンドでも確認できますが、Windowsのpingコマンドの場合、「宛先に到達できない(送信先アドレスへのルートがない)場合」についても、戻り値が 0 (正常)となります。nwolc -p では、正常に応答が返ってきた場合以外は全て戻り値が 1 となります。
-w は、指定されたホストにpingを継続的に送信し、正常な応答があるまで繰り返します。指定されたホストが起動状態になるのを待機します。
-w オプションは "-w hostname waitsec" のように指定します。waitsecには待機する最大秒数を設定します。
コマンド例 | 説明 |
---|---|
nwolc -w 192.168.1.6 60 |
192.168.1.6 が起動するまで最大60秒間待機する。 |
nwolc -w 192.168.1.6 60 -t 3 |
192.168.1.6 が起動するまで最大60秒間待機する。pingのタイムアウトを3秒に設定する。 |
【関連記事・関連コンテンツ】