n-Archives.net

nWOLc マニュアル:nWOLのコンソールコマンド

目次


nWOLcの概要

nWOLc.exe は、nWOLのコンソールコマンドです。nWOLに登録されているホストに対して、マジックパケット送信、ホスト状態確認処理、起動完了待機処理を、コマンドラインから実行できます。バッチファイルやタスクスケジューラなどから処理を起動させることができるようになります。

nWOLのパッケージに同梱されており、インストーラを使ってインストールすると、nWOLと同じフォルダ(C:\Program Files\nWOL)に置かれます。

 

nWOLc.exe で実行できるオプションは以下の通りです。

nWOLc: nWOL console command   (Version 1.7.75)

-l ["regex"]           List all or regex-matched hosts
-f ["regex"]           List all or regex-matched hosts with full information
-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)
-u port                Specify destination UDP port number of Magic Packet
-i                     Ignore case when -l, -f or -r
-c filename            Configuration file name(Absolute path or User name)
-o filename            Redirect console output to a file(Absolute path)
-v                     Verbose mode
-n                     No output messages
-?                     Help

 

オプション解説

-l ["regex"] :ホスト名一覧の表示

nWOLに登録されているホスト名の一覧を表示します。

コマンド例 説明
nwolc -l
nWOLに登録されている全てのホスト名を表示する。
nwolc -l "^a.*z$"
nWOLに登録されているホストのうち、正規表現(記載例は aで始まりzで終わる)にマッチするものを表示する。
nwolc -l server -i
nWOLに登録されているホストのうち、正規表現(serverという文字列を含む)にマッチするものを表示する。大文字小文字を区別しない。
  • regexが指定されない場合はnWOLに登録されている全てのホストが表示されます。
  • 正規表現は、” ” で囲んでください。
  • nWOLで使用する正規表現の詳細については、以下のマイクロソフトのページを参照してください。
    Regular Expression Language - Quick Reference」(マイクロソフトのページ)

 

-f ["regex"] :ホスト詳細情報の一覧表示

コマンド指定方法は -l と同じです。各ホストごとに、詳細情報を表示します。

 

-a :全てのホストにマジックパケットを送信する

nWOLに登録されているホストのうち、WOLが許可されている全てのホスト(WOL ModeがDisable以外のホスト全て)に対してマジックパケットを送信します。

コマンド例 説明
nwolc -a
WOLが許可されている全てのホストにマジックパケットを送信する。

-h hostnames... :ホスト名を指定してマジックパケットを送信する

ホスト名を指定してマジックパケットを送信します。WOLが許可されていないホストは除外されます。

コマンド例 説明
nwolc -h Server1 "File Server"
Server1, File Server にマジックパケットを送信する。
  • ホスト名に空白を含むような場合は、" " で囲んでください。
  • ホスト名は空白で区切って複数指定できます。
  • 大文字小文字を区別します。

 

-r "regex" :正規表現にマッチする全てのホストにマジックパケットを送信する

正規表現にマッチするホスト全てにマジックパケットを送信します。WOLが許可されていないホストは除外されます。

コマンド例 説明
nwolc -r ^[0-9]
ホスト名が数字で始まるホスト全てにマジックパケットを送信する。
nwolc -r PC$ -i
"PC" という文字列で終わる全てのホストにマジックパケットを送信する。大文字小文字は区別しない。
  • 正規表現に空白を含む場合などは、” ” で囲んでください。
  • nWOLで使用する正規表現の詳細については、以下のマイクロソフトのページを参照してください。
    Regular Expression Language - Quick Reference」(マイクロソフトのページ)

 

-m mac [ip [mask]] :マジックパケットを送信する

MACアドレスを直接指定してマジックパケットを送信します。

コマンド例 説明
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 であるホストにマジックパケットを送信する。
nwolc -m abcdef123456 mypc.mydomain.com
mypc.mydomain.com をDNS解決したIPアドレスにマジックパケットを送信する。
nwolc -m abcdef123456 mypc.mydomain.com 24
mypc.mydomain.com をDNS解決したIPアドレス、ネットマスク 255.255.255.0 (24bit)であるホストにマジックパケットを送信する。
  • 同一LAN内のホストに対しては、MACアドレスのみ指定すれば送信できます。
  • MACアドレスのみ指定した場合、接続されている全てのネットワークIFからマジックパケットが送信されます。複数のネットワークIFが接続されているが、送信先ホストが存在するネットワークIFからのみパケットを送信したい場合は、IPアドレスを指定してください。(ネットマスクは指定する必要はありません。)
  • ルータを経由した先のホストにマジックパケットを送信する場合は、送信先ホストのIPアドレスとネットマスクを指定するか、送信先ホストの存在するNWのディレクティッドブロードキャストアドレスを指定する必要があります。
  • IPのパラメータ部分には、DNS名を指定することができます。
  • IPアドレスの検索順序は
    (1)IPアドレス形式(192.168.1.10等)として解釈
    (2)DNS名として名前解決
    の順で行われます。
  • DNS名前解決では、nWOLで指定されているDNSサフィックスリストが使用されます。
  • ディレクテッドブロードキャストアドレスとは、IPアドレスのホスト部の全てのビットを1にしたアドレスです。
    参考記事:「ブロードキャストアドレスの種類を知る 」 (atmarkIT記事)

 

-p hostname :ホストの起動状態を調べる

指定されたホストに ping を送信して、ホストの起動状態を調べます。

コマンド例 説明
nwolc -p Server1
Server1 の起動状態を調べる。
nwolc -p 192.168.1.6
192.168.1.6 の起動状態を調べる。
nwolc -p mypc.mydomain.com
mypc.mydomain.com の起動状態を調べる
nwolc -p Server1 -t 3
Server1 の起動状態を調べる。pingのタイムアウトを3秒に設定する。
  • 起動状態であった場合は戻り値 0、それ以外の場合は戻り値 1 となります。
  • ping のタイムアウトはデフォルトで1秒です。
  • IPアドレスの検索順序は、
    (1)nWOLに登録されているホスト名から検索
    (2)IPアドレス形式(192.168.1.10等)として解釈
    (3)DNS名として名前解決
    の順で行われます。
  • DNS名前解決では、nWOLで指定されているDNSサフィックスリストが使用されます。

 

※参考:ホストの起動状態はpingコマンドでも確認できますが、Windowsのpingコマンドの場合、「宛先に到達できない(送信先アドレスへのルートがない)場合」についても、戻り値が 0(正常) となります。nwolc -p の場合、正常に応答が返ってきた場合以外は全て戻り値が 1 となります。

 

-w hostname [waitsec] :ホストが起動状態になるまで待機する

指定されたホストにpingを継続的に送信し、正常な応答があるまで繰り返します。指定されたホストが起動状態になるのを待機します。待機時間は最大waitsec秒となります。waitsecを指定しない場合、ホストが起動するまでコマンドが終了しませんのでご注意ください。

コマンド例 説明
nwolc -w Server1 60
Server1 が起動するまで最大60秒間待機する。
nwolc -w Server1
Server1 が起動するまで永遠に待機する。タイムアウトしない。
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秒に設定する。
nwolc -w mypc.mydomain.com 60
mypc.mydomain.com が起動するまで最大60秒間待機する。
nwolc -h Server1 -w Server1 60
Server1にマジックパケットを送信した後、Server1が起動するまで最大60秒間待機する。
nwolc -a -w Server1
全てのホストにマジックパケットを送信した後、Server1が起動するまで永遠に待機する。
  • 起動状態になった場合、戻り値は 0 となります。待機時間が過ぎた場合など、それ以外の場合は 1 となります。
  • -w は、-a, -h, -r と同時に指定することができます。その場合、マジックパケットを送信した後、指定されたホストが起動するまで待機します。
  • -a, -h, -r と同時に使用した場合、-a, -h, -r の実行結果にかかわらず、-w の実行結果が戻り値として返されます。
  • IPアドレスの検索順序は、
    (1)nWOLに登録されているホスト名から検索
    (2)IPアドレス形式(192.168.1.10等)として解釈
    (3)DNS名として名前解決
    の順で行われます。

 

-t sec :pingのタイムアウト秒数を設定する

-p, -w で実行される ping のタイムアウト秒数を設定します。

コマンド例 説明
nwolc -p Server1 -t 3
pingタイムアウトを3秒に設定し、Server1の起動状態を調べる。
  • -p または -w とともに指定する必要があります。
  • ping のタイムアウトはデフォルトで1秒となっています。
  • 今どきのネットワークであれば、ping の応答は1秒以内で返ってくると思いますが、pingの応答が1秒以上かかってしまうことがあるような場合、このオプションで適切な値に設定してください。

 

-u port  : Magic Packetの送信先のUDPポート番号を指定する

-a, -h, -r, -m でマジックパケットを送信する際、マジックパケットの送信先のUDPポート番号を指定します。

コマンド例 説明
nwolc -a -u 7000
nWOLに登録されている全てのホスト(WOLModeがDisable以外)に対して、UDP port 7000宛てにマジックパケットを送信します。nWOLで設定されているUDPポート番号の設定をオーバーライドします。
nwolc -h Server1 -u 7000
Server1の UDP port 7000にマジックパケットを送信します。nWOLで設定されているUDPポート番号の設定をオーバーライドします。
nwolc -m abcdef123456 192.168.10.20/24 -u 7000
UDP port 7000にマジックパケットを送信します。
nwolc -m abcdef123456 mypc.mydomain.com 24 -u 7000
UDP port 7000にマジックパケットを送信します。

 

-i :正規表現で大文字小文字を区別しない

-l, -f, -r で、正規表現の処理を行う際に、大文字小文字を区別しない設定にします。

 

-c filename :設定ファイル名を指定する

読み込む設定ファイルを指定します。パラメータには設定ファイルの絶対パス名、または、ユーザ名を指定します。

ユーザ名を指定した場合、設定ファイルは C:\Users\<ユーザ名>\AppData\Roaming\nWOL\nWOL.conf となります。

読み込む設定ファイルには適切なアクセス権が付与されている必要があります。

コマンド例 説明
nwolc -c "c:\Users\User Name\AppData\
Roaming\nWOL\nWOL.conf" -l
絶対パスで指定されたファイルを設定ファイルとして読み込み -l を実行する。
nwolc -c "User Name" -l
指定されたユーザの設定ファイルを読み -l を実行する。

 

-o filename :コンソール出力をファイルにリダイレクトする

コンソール出力をファイルにリダイレクトします。ファイル名は絶対パスでなければなりません。ファイルが存在する場合、追記モードで出力されます。

コマンド例 説明
nwolc -o "c:\Windows\Temp\out.log" -l
コンソール出力を指定されたファイルにリダイレクトし、-l を実行する。

 

-v :処理状況を表示する

処理状況を示すより多くのメッセージを表示します。

 

-n :メッセージの表示をしない

メッセージの表示を一切行わないようにします。

 

-? :ヘルプの表示

ヘルプを表示します。オプション無しで nWOLc を実行してもヘルプが表示されます。

 

戻り値

nWOLc の戻り値は、基本的には、正常終了は 0、何らかのエラーがあった場合(コンソール表示に "Error:" が表示された場合)は1となります。

-p -w の場合は、ホストが起動中であれば 0、それ以外の場合は 1 となります。

また、-a -h -r いずれかと -w が同時に指定された場合、 マジックパケット送信処理でエラーが表示されていても、-w の戻り値が返されます。

 

-m, -p, -w オプションは nWOLc.exe 単独でも使用可能

nWOLc.exe は基本的には nWOL で登録されているホストに対して処理を行いますが、-m オプション、および、-p, -w をIPアドレス指定とした場合については、nWOLの設定情報を使用しないため、nWOLc.exe 単独で使用できます。

 

nWOL、nWOLc で使用する正規表現の仕様

nWOL, nWOLcで使用する正規表現の仕様については、以下のリンクを参照してください。

Regular Expression Language - Quick Reference」(マイクロソフトのページ)

 

 

Related Articles

 

この記事へのコメント

管理者   2021-08-30 00:20:25
KATSUHIKOさん、ご連絡大変ありがとうございました。ご指摘の通り、バグとなっていました。先ほど修正版を公開しましたので、お試しください。よろしくお願い致します。

KATSUHIKO   2021-08-29 17:28:03
nWOLc で、 ホストを指定してマジックパケットを送信する
nWOLc -h host
では、not WOL capable のエラーになります。
リストオプションでは、そのホストは WOL capableと表示されます。

MACアドレス指定ではWOLできるので、差し当たり十分使えるので問題はないのですが、バグの様なので一応お知らせしておきます。

管理者   2020-11-28 14:49:36
nWOLアプリ側の設定画面で、「起動されるホスト」の設定は以下のようにしてください。
IPアドレス欄:起動されるPCのIPアドレスを指定する必要があります。192.168.10.255のような
ディレクティッドブロードキャストアドレスを指定すると起動状態が正しく表示されません。
ネットマスク欄:起動されるPCのネットマスクを指定する必要があります。
空欄ですと、ルータを超えた先へ正しくマジックパケットを送信できません。

IP欄に、255で終わるようなディレクティッドブロードキャストアドレスを指定していませんか?

yaguchi   2020-11-28 13:52:53
pingの確認後
コマンドライン
「ルータを経由した先に存在し、MACアドレスが abcdef123456、ディレクティッドブロードキャストアドレスが192.168.10.255 であるホストにマジックパケットを送信する。」
に従い、ネットマスクを記入せず実行したところ、NAT外からホストPCの起動が出来ました。

そのため、
アプリの設定画面でネットマスクを「空欄」のまな設定し、起動実行したところ、
外部無事に起動出来ました。

しかし、アプリを常駐させておくと「ON」表示のままになってしまい、ホストPCをシャットダウンしても「OFF」表示になりません。

私の設定に異常項目があるのでしょうか?
ご教授いただきたく宜しくお願いします。



コメントをお送りください
お名前:
コメント:
コメントの公開:



管理者より個人的に返信をご希望の方は、コメント中に必ずメールアドレスを記載してください。記載がないと返信できませんのでご注意ください。

If you want personal response from the author, please do not forget to write your email address in the comment. Otherwise, the author can not reply.

投稿されたコメントは手動で処理されるため、記事として登録されるまで1日程度かかります。

Submitted comments will be processed manually. So, please understand it will take about a day to publish your comment.