ネットワークコマンドで管理が変わる!
第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