DNSCMDを使ってDNSレコードの登録・削除をコマンドラインで実行する方法

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 <コマンド名> /?  -- 特定のコマンドに関するヘルプ情報

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です