WindowsサーバはDNSレコードの登録や削除をMMCから操作する事が出来るので、直感的に操作しやすくて便利なのですが、大量のレコードの登録や削除があった場合には、これらの作業がかなり面倒になってしまいます。
このような場合には、DNSCMDを利用してコマンドラインからDNSへの登録や削除を実行するようにすれば時間もかからず便利です。
追加と削除を行う場合にはそれぞれ/RecordAddと/RecordDeleteを利用します。
DNSレコードの追加
レコードを追加する場合の基本的なコマンドは以下のようになります。
DNSCMD /RecordAdd <ゾーン名> <ホスト名> <PRタイプ> <IPアドレス>
例えばゾーンpnpk.localにserver001という名前を192.168.1.10で登録する場合には以下のようになります。
DNSCMD /RecordAdd pnpk.local server001 A 192.168.1.10
同時に逆引きレコードも追加する場合には以下のようになります。
DNSCMD /RecordAdd 1.168.192.in-addr.arpa 10 PTR server001.pnpk.local
DNSレコードの削除
レコードを削除を行う場合は以下のようになります。
/fを入力することで、確認メッセージを省略する事が出来ますので、一度に大量のレコードを登録する場合に便利です。
DNSCMD /RecordDelete <ゾーン> <ノード名> <RR の種類> [/f]
例えばゾーンpnpk.localのserver001という名前登録を削除する場合には以下のようになります。
DNSCMD /RecordDelete pnpk.local server001 A /f
逆引きレコードの削除は以下のようになります。
DNSCMD /RecordDelete 1.168.192.in-addr.arpa 10 PTR /f
その他コマンド
以下DNSCMDのヘルプです。
使用法: DnsCmd <サーバー名> <コマンド> [<コマンド パラメータ>] <サーバー名>: IP アドレスまたはホスト名 -- リモートまたはローカルの DNS サーバー . -- ローカル コンピュータ上の DNS サーバー <コマンド>: /Info -- サーバー情報を取得します /Config -- サーバー構成またはゾーン構成をリセットします /EnumZones -- ゾーンを列挙します /Statistics -- サーバー統計情報データを照会/消去します /ClearCache -- DNS サーバー キャッシュをクリアします /WriteBackFiles -- すべてのゾーンまたはルート ヒントのデータ ファイルを書き戻します /StartScavenging -- サーバーの清掃を開始します /IpValidate -- リモート DNS サーバーを検証します /ResetListenAddresses -- DNS 要求を処理するようにサーバー IP アドレスを設定します /ResetForwarders -- 再帰クエリを転送するように DNS サーバーを設定します /ZoneInfo -- ゾーン情報を表示します /ZoneAdd -- DNS サーバー上に新しいゾーンを作成します /ZoneDelete -- DNS サーバーまたは DS からゾーンを削除します /ZonePause -- ゾーンを一時停止します /ZoneResume -- ゾーンを再開します /ZoneReload -- データベース (ファイルまたは DS) からゾーンを再読み込みします /ZoneWriteBack -- ゾーンをファイルに書き戻します /ZoneRefresh -- セカンダリ ゾーンの更新をマスタから強制します /ZoneUpdateFromDs -- DS のデータを使用して DS 統合ゾーンを更新します /ZonePrint -- ゾーンのすべてのレコードを表示します /ZoneResetType -- ゾーンの種類を変更します /ZoneResetSecondaries -- ゾーンのセカンダリ通知情報をリセットします /ZoneResetScavengeServers -- ゾーンの清掃サーバーをリセットします /ZoneResetMasters -- セカンダリ ゾーンのマスタ サーバーをリセットします /ZoneExport -- ゾーンをファイルにエクスポートします /ZoneChangeDirectoryPartition -- ゾーンを別のディレクトリ パーティションに移動します /EnumRecords -- 名前を指定した場所にあるレコードを列挙します /RecordAdd -- ゾーンまたはルート ヒントにレコードを作成します /RecordDelete -- ゾーン、ルート ヒント、またはキャッシュからレコードを削除します /NodeDelete -- 名前を指定した場所にあるレコードをすべて削除します /AgeAllRecords -- ゾーン内のノードにエージングを強制します /EnumDirectoryPartitions -- ディレクトリ パーティションを列挙します /DirectoryPartitionInfo -- ディレクトリ パーティションに関する情報を取得します /CreateDirectoryPartition -- ディレクトリ パーティションを作成します /DeleteDirectoryPartition -- ディレクトリ パーティションを削除します /EnlistDirectoryPartition -- パーティション レプリケーション スコープに DNS サーバーを追加します /UnenlistDirectoryPartition -- レプリケーション スコープから DNS サーバーを削除します /CreateBuiltinDirectoryPartitions -- 組み込みパーティションを作成します /ExportSettings -- DNS サーバー データベース ディレクトリの DnsSettings.txt に設定を出力します <コマンド パラメータ>: DnsCmd <コマンド名> /? -- 特定のコマンドに関するヘルプ情報