図 Windows XPで実行した画面
図 Windows XPで実行した画面
[画像のクリックで拡大表示]

netsh interface ip set dns "ローカル エリア接続" static DNSサーバー none

 TCP/IPプロパティの"DNSサーバー自動登録"の設定を一律に揃えたい場合があります。例えばワークグループ環境で,参照先DNSサーバーに対してクライアントのDNS自動登録が必要ない場合,DNS自動登録の設定が有効になっているとクライアントからの不要な登録要求が発生してしまいます。このようなときには,netshを利用してDNSサーバーへの自動登録をおこなわないように設定を変更できます。

 上記のコマンドを実行するとDNSの自動登録は無効になりますが,DNSのDHCP設定あるいは静的IPアドレスを入力する必要はある点には注意が必要です。参照先DNSサーバーの設定はそのままでDNS自動登録だけを変更したい場合は,show dnsコマンドでIPアドレスを抽出して環境変数に代入するなどの手法で再設定すればバッチ・ファイルとして実装できます。例えば,以下のようなバッチ・ファイルが利用できるでしょう。

バッチ・ファイルの例
----
@echo off

rem DNS静的IPアドレスを引き継いでDNS自動登録だけを無効にする

setlocal
for /f "tokens=4" %%i in (
'netsh interface ip show dns "ローカル エリア接続" ^| find "静的に構成された"'
) do set statidns=%%i
if defined statidns (
netsh interface ip set dns "ローカル エリア接続" static %statidns% none
) else (
netsh interface ip set dns "ローカル エリア接続" dhcp none
)
----