DHCPのリース一覧を取得する (Windows Server 2003)

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