トップ回答者
スタートアップスクリプトでDNSを一斉に設定変更したい。

質問
-
表題の件で質問です。
どなたかご教授頂けないでしょうか?
ActiveDirectory環境で、既存のDNS 192.168.10.254(仮)を
プライマリ:192.168.20.254(仮)
セカンダリ:192.168.30.254(仮)
と設定したいです。
スタートアップスクリプトで、netsh interface set dns "ローカル エリア接続" <IPアドレス>
で変更可能なのは調べれたのですが、ローカルエリア接続2のPCや、無線LANで接続しているPCを
変更するにはどのようなスクリプトを作成するのが良いでしょうか?
ご教授のほど、宜しくお願い致します。
回答
-
チャブーンです。
もし、バッチファイルではなくてPowerShellを使ってもよい、ということでしたら、したのスクリプトで簡単に設定できます。
$DNS=@("192.168.20.254","192.168.30.254") $NIC=Get-WMIObject Win32_NetworkAdapterConfiguration|Where {($_.IPEnabled -eq $True)} $NIC.SetDNSServerSearchOrder($DNS)
うえは「ネットワーク接続の名前」でインターフェースを指定するのではなく、IP通信が可能なインターフェースという別の視点で指定を行っています。クライアント端末であれば、IP通信が可能=利用中、のインターフェースは1つなので、この方法が使えます。
マルチホーム(同時に2つ以上のネットワークにタコ足的につながっている)端末の場合、デフォルトゲートウェイの有無でインターフェースを選択する方法があります。デフォルトゲートウェイが指定されるインターフェースは、外部ネットワーク(インターネット含む)と通信を行うメインのインターフェースであること、デフォルトゲートウェイは複数のインターフェースに同時指定されることはない、ことを利用します。
$DNS=@("192.168.20.254","192.168.30.254") $NIC=Get-WMIObject Win32_NetworkAdapterConfiguration|Where {($_.DefaultIPGateway -ne $Null)} $NIC.SetDNSServerSearchOrder($DNS)
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。
すべての返信
-
チャブーンです。
もし、バッチファイルではなくてPowerShellを使ってもよい、ということでしたら、したのスクリプトで簡単に設定できます。
$DNS=@("192.168.20.254","192.168.30.254") $NIC=Get-WMIObject Win32_NetworkAdapterConfiguration|Where {($_.IPEnabled -eq $True)} $NIC.SetDNSServerSearchOrder($DNS)
うえは「ネットワーク接続の名前」でインターフェースを指定するのではなく、IP通信が可能なインターフェースという別の視点で指定を行っています。クライアント端末であれば、IP通信が可能=利用中、のインターフェースは1つなので、この方法が使えます。
マルチホーム(同時に2つ以上のネットワークにタコ足的につながっている)端末の場合、デフォルトゲートウェイの有無でインターフェースを選択する方法があります。デフォルトゲートウェイが指定されるインターフェースは、外部ネットワーク(インターネット含む)と通信を行うメインのインターフェースであること、デフォルトゲートウェイは複数のインターフェースに同時指定されることはない、ことを利用します。
$DNS=@("192.168.20.254","192.168.30.254") $NIC=Get-WMIObject Win32_NetworkAdapterConfiguration|Where {($_.DefaultIPGateway -ne $Null)} $NIC.SetDNSServerSearchOrder($DNS)
フォーラムは有償サポートとは異なる「コミュニティ」です。フォーラムでご質問頂くにあたっての注意点 をご一読のうえ、お楽しみください。