Windows Server 2003ではnetshがデフォルトで入っているので、それを使う。
以前はリソースキットにあったdhcpcmd.exeを利用していた。
netsh dhcp server \%Servername% scope %スコープ範囲(192.168.1.0)% show clients 1
show clients 1
の”1″を指定すると、ホスト名も取得する。
全スコープのリース一覧をテキストファイルにまとめるバッチを作ってみた。
サーバはServer1(192.168.1.1)、スコープは192.168.1.0から192.168.4.0とする。
set dt=%date:/=%
netsh dhcp server \192.168.1.1 scope 192.168.1.0 show clients >c:%COMPUTERNAME%.%dt%.txt
netsh dhcp server \192.168.1.1 scope 192.168.2.0 show clients >>c:%COMPUTERNAME%.%dt%.txt
netsh dhcp server \192.168.1.1 scope 192.168.3.0 show clients >>c:%COMPUTERNAME%.%dt%.txt
netsh dhcp server \192.168.1.1 scope 192.168.4.0 show clients >>c:%COMPUTERNAME%.%dt%.txt
こうすると、C:Server1.20070604*1.txtにリース一覧がまとまる。
*1:yyyymmdd