ネットワークコマンドで管理が変わる!

第14回 netshでDHCPサーバーを管理しよう (その3)


今月のコマンド

set databasename

set databasepath

set databasebackuppath

set databasebackupinterval

set databasecleanupinterval

show dbproperties

dump


今回紹介するnetshサブコマンドはDHCPサーバーのデータベースを管理するためのコマンドだ。いずれのコマンドもWindows 2000 ServerおよびWindows Server 2003 (R2を含む) でのみサポートされ、dhcp serverコンテキストで利用できる。Windows 2000 ProfessinalおよびWindows XP Professional/Home Editionでは利用できない。


---------------------------------------------------------------------------

DHCPサーバーデータベースの名前、パス等を変更する

set databasename

set databasepath

set databasebackuppath

set databasebackupinterval

set databasecleanupinterval

show dbproperties

---------------------------------------------------------------------------

DHCPサーバーデータベースのデフォルト値

 Windows DHCPサーバーのDHCPデータベースはデフォルトでは次のように設定されている。

データベースファイル名 : dhcp.mdb

データベースファイルのパス :
%SystemRoot%\System32\dhcp

データベースのバックアップファイルのパス :
%SystemRoot%\System32\dhcp\backup

データベースのバックアップ間隔 : 60

データベースを整理する間隔 : 60

 これらの設定値はnetshサブコマンドを使うと変更することができる。


DHCPサーバーデータベースのファイル名を変更する

 DHCPデータベースのファイル名を変更するには「set databasename」コマンドを使う。set databasenameコマンドの構文は次のとおり。

set databasename FileName


 パラメータのFileNameに新しいファイル名を指定する。例えば、DHCPデータベースのファイル名をNewDB.mdbと変更した場合は次のように指定する。


例:set databasename NewDB.mdb


 DHCPデータベースの名前を変更する必要がある場面はまずないとは思うが、名前の変更はGUI画面ではできないので、コマンドでの操作が唯一の方法だ。

 なお、名前の変更を反映するためにはDHCPサーバーサービスを再起動する必要がある。


画面1● set databasenameコマンドでDHCPデータベースの名前を変更する


DHCPサーバーデータベースのファイルの保存場所を変更する

 DHCPデータベースファイルの保存場所を変更する場合は、「set databasepath」コマンドを使う。DHCPサーバーに複数のハードディスクが搭載されており、サーバーの負荷が高い場合は、DHCPデータベースをWindowsのシステムと別のハードディスクに移動することでDHCPデータベースへのアクセスが高速化される効果がある。set databasepathコマンドの構文は次のとおり。

set databasepath Path


 パラメータのPathに保存場所のパスをドライブ名を含めて絶対パスで指定する。例えば、DHCPデータベースファイルの保存場所をe:\dhcpに変更したい場合は次のように指定する。


例:set databasepath e:\dhcp


画面2● set databasepathコマンドでDHCPデータベースの保存場所を変更する


 なお、パスの変更を反映するためにはDHCPサーバーサービスを再起動する必要がある。


DHCPサーバーデータベースのバックアップファイルの保存場所を変更する

 DHCPデータベースは重要なデータなので、万一に備えてバックアップが作成されるようになっている。バックアップファイルの保存場所を変更する場合は、「set databasebackuppath」コマンドを使う。

DHCPサーバーに複数のドライブがある場合は、OSのシステムとは別のドライブにバックアップファイルを作成する方が安全だ。別のハードディスクにバックアップするようにすればさらに安全になる。set databasebackuppathコマンドの構文は次のとおり。

set databasebackuppath BackupPath


 パラメータのBackupPathに保存場所のパスをドライブ名を含めて絶対パスで指定する。例えば、バックアップファイルの保存場所をe:\dhcp\backupに変更したい場合は次のように指定する。


例:set databasebackuppath e:\dhcp\backup


画面3● set databasebackuppathコマンドでDHCPデータベースのバックアップの保存場所を変更する


DHCPサーバーデータベースのバックアップ間隔を変更する

DHCPデータベースのバックアップはデフォルトでは60分間隔で行われる。クライアントの少ないDHCPサーバーであればこの間隔はもっと長くても良いだろう。逆に大量のクライアントを持つDHCPサーバーならもっと短い間隔でバックアップしたいということもあるだろう。「set databasebackupinterval」コマンドはバックアップの間隔を変更するコマンドだ。set databasebackupintervalコマンドの構文は次のとおり。

set databasebackupinterval BackupInterval


 パラメータのBackupIntervalにバックアップする間隔を分で指定する。例えば、バックアップの間隔を24時間に変更したい場合は次のように指定する。


例:set databasebackupinterval 1440


画面4● set databasebackupintervalコマンドでDHCPデータベースのバックアップ間隔を変更する


DHCPサーバーデータベースの整理間隔を変更する

DHCPデータベースは使っているうちに肥大化して効率が悪くなるので、適当な間隔で整理 (最適化) する必要がある。DHCPデータベースの整理はデフォルトでは60分間隔で行われる。クライアントの少ないDHCPサーバーであればこの間隔はもっと長くても良いだろう。「set databasecleanupinterval」コマンドは整理の間隔を変更するコマンドだ。set databasecleanupintervalコマンドの構文は次のとおり。

set databasecleanupinterval CleanupInterval


 パラメータのCleanupIntervalに整理する間隔を分で指定する。例えば、整理の間隔を24時間に変更したい場合は次のように指定する。


例:set databasecleanupinterval 1440


画面5● set databasecleanupintervalコマンドでDHCPデータベースの整理間隔を変更する


DHCPサーバーデータベースの構成情報を表示する

以上のコマンドで設定した結果は「show dbproperties」コマンドで確認できる。構文は次のとおり。

show dbproperties


画面6● show dbpropertiesコマンドでDHCPデータベースの構成情報を表示する


---------------------------------------------------------------------------

DHCPサーバーの構成を保存/復元する

dump/exec

---------------------------------------------------------------------------

DHCPサーバーの構成を保存する

 上記のコマンドで設定した構成を含めてDHCPサーバーの全体構成をテキストファイルに保存することができる。それが「dump」コマンドだ。ただし、リース情報については出力されない。

本連載第5 (2006年4月号) TCP/IP設定を保存するdumpコマンドを解説しているが、DHCPサーバーの構成も同様に保存できる。dumpコマンドでDHCPサーバー構成を保存する場合の構文は次のとおり。

netsh dhcp server  [{\\Servername | Address}] dump > TextFileName


 ローカルのDHCPサーバーの構成を保存する場合は\\ServernameあるいはAddressを省略することができる。

 なお、dhcp serverコンテキストで、「dump」と入力すればDHCPサーバー構成を画面に表示することができるが、「dump > TextFileName」と入力するとエラーとなる。これはneshのシェルモードではリダイレクト  (>または>>) がサポートされていないからだ。ファイルに保存する場合はnetshのシェルモードではなく、ダイレクトコマンドモードで実行していただきたい。


画面7● dumpコマンドでDHCP構成情報を出力したファイルの例 (部分)


DHCPサーバーの構成を復元する

 ファイルに保存したDHCP構成情報は「exec」コマンドで取り込むことができる。execコマンドの構文は次のとおり。

netsh exec TextFileName


 何かの理由でDHCPサーバーを再インストールしなければならなくなったときのために、dumpコマンドで構成を保存しておけば、容易にDHCPサーバーの構成を復元できるので便利だ。

 dumpコマンドおよびexecコマンドの詳細は本連載第5回を参照していただきたい。



netshサブコマンドリファレンス

netshサブコマンドは、実行できるコンテキストが異なる。そのため、ダイレクトコマンドモードの場合、-cオプションによって実行可能なコンテキストを指定する必要がある。シェルモードの場合は、実行できるコンテキストに移動してからコマンドを実行するか、コンテキスト名をコマンドといっしょに指定して実行する必要がある。


set databasename

DHCPサーバーデータベースのファイル名を設定する

[構文]

set databasename FileName

 

[パラメータ]

FileName

DHCPーバーデータベースファイルの名前を指定する。

[実行できるコンテキスト] dhcp server

* この変更を反映するには、DHCPサーバーサービスを再起動する必要がある。


set databasepath

DHCPサーバーデータベースファイルの保存場所を設定する

[構文]

set databasepath Path

 

[パラメータ]

Path

DHCPサーバーデータベースファイルの保存場所を指定する。

[実行できるコンテキスト] dhcp server

* この変更を反映するには、DHCPサーバーサービスを再起動する必要がある。


set databasebackuppath

DHCPサーバーデータベースのバックアップファイルの保存場所を設定する

[構文]

set databasebackuppath BackupPath

 

[パラメータ]

BackupPath

DHCPサーバーデータベースのバックアップファイルの保存場所を指定する。

[実行できるコンテキスト] dhcp server


set databasebackupinterval

DHCPサーバーデータベースのバックアップの間隔を設定する

[構文]

set databasebackupinterval BackupInterval

 

[パラメータ]

BackupInterval

DHCPサーバーデータベースのバックアップの間隔を分で指定する。

[実行できるコンテキスト] dhcp server


set databasecleanupinterval

DHCPサーバーデータベースを整理する間隔を設定する

[構文]

set databasecleanupinterval CleanupInterval

 

[パラメータ]

CleanupInterval

DHCPサーバーデータベースを整理する間隔を分で指定する。

[実行できるコンテキスト] dhcp server


show dbproperties

現在のDHCPサーバーデータベース構成情報を表示する

[構文]

show dbproperties

 

[パラメータ]

なし

[実行できるコンテキスト] dhcp server