nWOL Version 2.1.12 をリリースしました! (2025/2/16)
(ダウンロードはこちら)
Version2ではこれまでの機能に加え、以下の機能が追加されています。(一部機能有償)
・ホストのグループを定義可能。メイン画面でグループを選択して表示することができます。
・グループごと、または、ホストごとに、ping間隔、表示色、サウンドなどの個別設定ができます。
・ホスト名ダブルクリックなどから、リモートデスクトップ、シャットダウン等のコマンド実行が可能。
・独自のバッチファイルを登録することで、コマンドを自由に追加可能。認証支援機能を提供。
・コマンド実行を管理するコマンドコンソール機能。
・メイン画面の詳細デザインを設定可能。複数のデザインを登録可能。
・ログ記録機能。
nWOLc.exe は、nWOLのコンソールコマンドです。nWOLに登録されているホストに対して、マジックパケット送信、ホスト状態確認処理、起動完了待機処理を、コマンドラインから実行できます。Version2 からはnWOLに登録されているコマンドも実行できるようになっています。バッチファイルやタスクスケジューラなどから処理を起動させることができるようになります。
nWOLのパッケージに同梱されており、インストーラを使ってインストールすると、nWOLと同じフォルダ(C:\Program Files\nWOL)に置かれます。
nWOLc.exe で実行できるオプションは以下の通りです。
nWOLc: nWOL Console Command (Version 2.10.X) -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 hosts -r "regex" Send magic packet to regex-matched WOL-capable hosts -g groupnames... Send magic packet to all WOL-capable hosts in groups -m mac [ip [mask]] Send magic packet -p hostname Check status of a host(or IP) (retcode=0 if online) -w hostname [waitsec] Wait for a host(or IP) to come online (retcode=0 if online) -arp Extend the -p and -w to include an ARP-based determination logic -cmda commandname Run command for all hosts -cmdh commandname hostnames... Run command for specified hosts -cmdr commandname "regex" Run command for regex-matched hosts -cmdg commandname groupnames... Run command for all hosts in groups -ipname [sec] Try IPNAME resolution when -cmdX. (sec:timeout, default=3) -t sec Set ping timeout in seconds for the -p or -w options (default=1) -u port Specify the UDP port number for the destination of the Magic Packet -i Ignore case for the -l, -f, -r, or -cmdr options -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
nWOLに登録されているホスト名の一覧を表示します。
コマンド例 | 説明 |
---|---|
nwolc -l |
nWOLに登録されている全てのホスト名を表示する。 |
nwolc -l "^a.*z$" |
nWOLに登録されているホストのうち、正規表現(記載例は aで始まりzで終わる)にマッチするものを表示する。 |
nwolc -l server -i |
nWOLに登録されているホストのうち、正規表現(serverという文字列を含む)にマッチするものを表示する。大文字小文字を区別しない。 |
コマンド指定方法は -l と同じです。各ホストごとに、詳細情報を表示します。
nWOLに登録されているホストのうち、WOLが許可されている全てのホスト(WOL ModeがDisable以外のホスト全て)に対してマジックパケットを送信します。
コマンド例 | 説明 |
---|---|
nwolc -a |
WOLが許可されている全てのホストにマジックパケットを送信する。 |
nWOLに登録されているホスト名を指定してマジックパケットを送信します。
起動中(Online)のホストにも送信されます。
WOLが許可されていないホストは除外されます。
コマンド例 | 説明 |
---|---|
nwolc -h Server1 "File Server" |
Server1, "File Server" にマジックパケットを送信する。 |
nWOLに登録されているホスト名が、指定した正規表現にマッチする全てのホストにマジックパケットを送信します。
起動中(Online)のホストにも送信されます。
WOLが許可されていないホストは除外されます。
コマンド例 | 説明 |
---|---|
nwolc -r ^[0-9] |
ホスト名が数字で始まるホスト全てにマジックパケットを送信する。 |
nwolc -r PC$ -i |
"PC" という文字列で終わる全てのホストにマジックパケットを送信する。大文字小文字は区別しない。 |
nWOLに登録されているグループに属する全てのホストにマジックパケットを送信します。
起動中(Online)のホストにも送信されます。
WOLが許可されていないホストは除外されます。
コマンド例 | 説明 |
---|---|
nwolc -g Group1 |
グループ Group1 に属する全てのホストにマジックパケットを送信する。 |
nwolc -g Group1 Group2 |
グループ Group1 または Group2 に属する全てのホストにマジックパケットを送信する。 |
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)であるホストにマジックパケットを送信する。 |
指定されたホストに ping を送信して、ホストの起動状態を調べます。
-arpオプションが設定された場合は、pingレスポンスによる判定に加え、ARPを利用した判定も行われます。詳細は -arp オプションの解説をご覧ください。
コマンド例 | 説明 |
---|---|
nwolc -p Server1 |
Server1 の起動状態を調べる。 |
nwolc -p 192.168.1.6 |
192.168.1.6 の起動状態を調べる。 |
nwolc -p mypc.mydomain.com |
mypc.mydomain.com の起動状態を調べる。 |
nwolc -p mypc.mydomain.com -arp |
mypc.mydomain.com の起動状態を調べる。ARPを利用したonline判定を行う。 |
nwolc -p Server1 -t 3 |
Server1 の起動状態を調べる。pingのタイムアウトを3秒に設定する。 |
※参考:ホストの起動状態はpingコマンドでも確認できますが、Windowsのpingコマンドの場合、「宛先に到達できない(送信先アドレスへのルートがない)場合」についても、戻り値が 0(正常) となります。nwolc -p の場合、正常に応答が返ってきた場合以外は全て戻り値が 1 となります。
指定されたホストにpingを継続的に送信し、正常な応答があるまで繰り返します。指定されたホストが起動状態になるのを待機します。待機時間は最大waitsec秒となります。waitsecを指定しない場合、ホストが起動するまでコマンドが終了しませんのでご注意ください。
-arpオプションが設定された場合は、pingレスポンスによる判定に加え、ARPを利用した判定も行われます。詳細は -arp オプションの解説をご覧ください。
コマンド例 | 説明 |
---|---|
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 192.168.1.6 60 -arp |
192.168.1.6 が起動するまで最大60秒間待機する。ARPを利用したonline判定を行う。 |
nwolc -w mypc.mydomain.com 60 |
mypc.mydomain.com が起動するまで最大60秒間待機する。 |
nwolc -h Server1 -w Server1 60 |
Server1にマジックパケットを送信した後、Server1が起動するまで最大60秒間待機する。 |
nwolc -a -w Server1 |
全てのホストにマジックパケットを送信した後、Server1が起動するまで待機する。タイムアウトしない。 |
-p オプション、または、-w オプション実行時、-arpオプションを付けることで、ping によるホスト状態判定に加え、ARPを利用したホスト状態判定を行います。
ARPを利用したホスト状態判定を行うことによって、pingレスポンスを返さないホストについても状態判定が可能になります。
詳細は、「ARPを利用したホスト状態判定方法の改善について」をご覧ください。
コマンド例 | 説明 |
---|---|
nwolc -p mypc.mydomain.com -arp |
mypc.mydomain.com の起動状態を調べる。ARPを利用したonline判定を行う。 |
nwolc -w 192.168.1.6 60 -arp |
192.168.1.6 が起動するまで最大60秒間待機する。ARPを利用したonline判定を行う。 |
nWOLに登録されている全てのホストに対して、nWOLに登録されているコマンドを実行します。
ホストの状態によらず、全てのホストに対して実行されます。(nWOLの動作と異なります)
コマンド例 | 説明 |
---|---|
nwolc -cmda Command1 |
全てのホストに対してCommand1を実行する。 |
指定されたホストに対して、nWOLに登録されているコマンドを実行します。
ホストの状態によらず、指定された全てのホストに対して実行されます。(nWOLの動作と異なります)
コマンド例 | 説明 |
---|---|
nwolc -cmdh Command1 Server1 |
Server1に対してCommand1を実行する。 |
nwolc -cmdh Command1 Server1 Server2 |
Server1とServer2に対してCommand1を実行する。 |
正規表現にマッチする全てのホストに対して、nWOLに登録されているコマンドを実行します。
ホストの状態によらず、指定された全てのホストに対して実行されます。(nWOLの動作と異なります)
コマンド例 | 説明 |
---|---|
nwolc -cmdr Command1 ^[0-9] |
ホスト名が数字で始まる全てのホストに対して Command1を実行する。 |
nwolc -cmdr Command1 PC$ -i |
"PC" という文字列で終わる全てのホストに対して Command1を実行する。 |
nWOLに登録されているグループに属する全てのホストに対して、nWOLに登録されているコマンドを実行します。
ホストの状態によらず、指定されたグループの全てのホストに対して実行されます。(nWOLの動作と異なります)
コマンド例 | 説明 |
---|---|
nwolc -cmdh Command1 Group1 |
Group1に属する全てのホストに対してCommand1を実行する。 |
nwolc -cmdh Command1 Group1 Group2 |
Group1またはGroup2に属する全てのホストに対してCommand1を実行する。 |
nWOLcは、コマンド実行時に、コマンドに対して、環境変数を渡します。環境変数NWOL_IPNAME には、ホスト名(IPアドレスへの名前解決が可能である名前)が取得できる場合はそのホスト名が設定され、それ以外の場合はIPアドレスが設定されます。
このホスト名を取得するためには、IPアドレスを解決しホスト名を取得する必要があります。nWOLcでは、デフォルトでは、この解決は行われませんので、解決を行う場合 -ipnameオプションを指定します。
secには、この解決を行う際のタイムアウト秒数を指定します。デフォルトは3秒です。
コマンド例 | 説明 |
---|---|
nwolc -comh Command1 Server1 |
Server1に対してCommand1を実行する。その際、NWOL_IPNAME環境変数のホスト名解決を行わない。 |
nwolc -comh Command1 Server1 -ipname |
Server1に対してCommand1を実行する。その際、NWOL_IPNAME環境変数のホスト名解決を行う。タイムアウト3秒。 |
nwolc -comh Command1 Server1 -ipname 5 |
Server1に対してCommand1を実行する。その際、NWOL_IPNAME環境変数のホスト名解決を行う。タイムアウト5秒。 |
-p, -w で実行される ping のタイムアウト秒数を設定します。
コマンド例 | 説明 |
---|---|
nwolc -p Server1 -t 3 |
pingタイムアウトを3秒に設定し、Server1の起動状態を調べる。 |
-a, -h, -r, -g, -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にマジックパケットを送信します。 |
-l, -f, -r, -cmdr で、正規表現の処理を行う際に、大文字小文字を区別しない設定にします。
読み込む設定ファイルを指定します。パラメータには設定ファイルの絶対パス名、または、ユーザ名を指定します。
ユーザ名を指定した場合、設定ファイルは C:\Users\<ユーザ名>\AppData\Roaming\nWOL\nWOL2.conf となります。Version2の conf ファイルが参照されます。実行前に、nWOLを起動して、nWOL2.confを作成しておく必要がありますので、ご注意ください。
読み込む設定ファイルには適切なアクセス権が付与されている必要があります。
コマンド例 | 説明 |
---|---|
nwolc -c "c:\Users\User Name\AppData\ Roaming\nWOL\nWOL2.conf" -l |
絶対パスで指定されたファイルを設定ファイルとして読み込み -l を実行する。 |
nwolc -c "User Name" -l |
指定されたユーザのVersion2設定ファイルを読み -l を実行する。 |
コンソール出力をファイルにリダイレクトします。ファイル名は絶対パスでなければなりません。ファイルが存在する場合、追記モードで出力されます。
コマンド例 | 説明 |
---|---|
nwolc -o "c:\Windows\Temp\out.log" -l |
コンソール出力を指定されたファイルにリダイレクトし、-l を実行する。 |
処理状況を示すより多くのメッセージを表示します。
メッセージの表示を一切行わないようにします。
ヘルプを表示します。オプション無しで nWOLc を実行してもヘルプが表示されます。
nWOLc の戻り値は、基本的には、正常終了は 0、何らかのエラーがあった場合(コンソール表示に "Error:" が表示された場合)は1となります。
-p -w の場合は、ホストが起動中であれば 0、それ以外の場合は 1 となります。
また、-a -h -r -g -m いずれかと -w が同時に指定された場合、 マジックパケット送信処理でエラーが表示されていても、-w の戻り値が返されます。
nWOL(GUI版)では、ホストの状態判定は、pingによる判定と、ARPを利用した判定の両方を組み合わせて実行しています。
一方、nWOLcでは、-pオプション、 -wオプションの実行時は、Version1 の仕様を踏襲し、pingのみによる判定が行われ、-arpオプションを付加することで、ARPを利用した判定が行われるようになります。
-arp オプション指定時の注意点としては、「ホストが実際に停止してから、15秒~45秒程度までonlineと判定されてしまう」という点があります。15秒~45秒程度Offline判定が遅れることになりますので、ご注意願います。
詳細については、「ARPを利用したホスト状態判定方法の改善について」をご覧ください。
nWOL Version2 では、コマンド実行機能が追加となっています。nWOLc では、-cmda, -cmdh, -cmdr, -cmdg オプションでコマンドを実行できるようになっています。
nWOLcからコマンドを実行する際の注意点を以下にまとめます。
nWOLc.exe は基本的には nWOL で登録されている情報(ホスト、グループ、コマンド)に対して処理を行いますが、-m オプション、および、-p, -w をIPアドレス指定とした場合については、nWOLの設定情報を使用しないため、nWOLc.exe 単独で使用できます。
nWOL, nWOLcで使用する正規表現の仕様については、以下のリンクを参照してください。
「Regular Expression Language - Quick Reference」(マイクロソフトのページ)
Related Articles
管理者より個人的に返信をご希望の方は、コメント中に必ずメールアドレスを記載してください。記載がないと返信できませんのでご注意ください。
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.