バッチファイルと CSV ファイルを利用して IP アドレスと DNS サーバーを変更する方法

バッチファイルと CSV ファイルを利用して IP アドレスと DNS サーバーを変更する方法です。

コンピューター名と IP アドレス、DNS サーバーのアドレスを記述した CSV ファイルを用意して、バッチファイルと同じ階層に配置して実行することで IP アドレスと DNS サーバーを自動的に変更することができます。

これから説明する CSV ファイルの内容さえ間違えなければ、誰が、いつ、どこで、何度やっても、同じ成果が出る仕組み として機能します。

おもにキッティング現場での利用を想定していますが、すでに運用中の環境でも利用することができるようになっています。リモート デスクトップや SUM などのシステムを利用して、複数台同時実行をやってみるのも面白いのではないでしょうか?

仕様概要

  1. バッチファイルを「管理者として実行」する。
  2. 実行元の端末のコンピューター名が取得される。
  3. 「2」で取得したコンピューター名とリスト内のコンピューター名を比較して一致する端末があるかどうか確認する。
  4. コンピューター名が一致した場合、リストのC列以降にあるIPアドレス、サブネットマスク、デフォルトゲートウェイ、優先DNSサーバー、代替DNSサーバーが自動的に設定される。

使用上の注意点

  1. バッチファイルは「管理者として実行」をしてください。
  2. 固定→自動取得への変更が正常に行われない場合、端末をスイッチやハブと接続してNICを物理的にリンクアップしてから実行してください。

事前準備をする

まず、以下よりファイルをダウンロードします。

ファイル名:SetIPAddressByHostname112.zip バージョン:v1.1.2 公開日  :20170707 更新日  :20170719 更新内容 :各処理にコメントを追加、設定値を画面出力させるように変更 実行した端末のコンピューター名を判別して自動的に指定のIPアドレスとDNSサーバーを設定す...


ダウンロードしたファイルを解凍したら「list.csv」を EXCEL で開きます。


この「list.csv」をお使いの環境に合わせて編集していきます。


1行目は項目名です。この部分はスクリプトでは無視されますのでこのままにしておきます。


A列にはコンピューター名を入力します。


B列にはネットワーク インターフェース名を入力します。有線LANの場合、Windows 8.1 / 10 は「イーサネット」、Windows 7 は「ローカル エリア接続」となっていることが一般的です。


無線LANの場合、Windows 8.1 / 10 は「Wi-Fi」、Windows 7 は「ワイヤレス ネットワーク接続」となっていることが一般的です。


C列~G列でIPアドレスとDNSサーバーを指定していきます。


IPアドレスとDNSサーバーを自動取得とする場合は、項目ごとに半角の「-」(ハイフン)を入力します。


IPアドレスとサブネットマスクのみ固定とする場合は、以下のように入力します。この場合も「-」(ハイフン)は半角です。


IPアドレスとサブネット、デフォルトゲートウェイのみ固定とする場合は、以下のように入力します。


優先DNSサーバー、代替DNSサーバーのみ固定とする場合は、以下のように入力します。


代替DNS以外を固定とする場合は、以下のように入力します。


すべての項目を固定とする場合は、以下のように入力します。

バッチファイルを実行する

今回はダウンロードしてきたサンプルをそのまま利用してみます。


設定対象の端末にはコンピューター名「PC006」が割り当てられています。


「PC006」のネットワークインターフェース名は「イーサネット」です。


「PC006」のIPアドレスとDNSサーバーは自動取得となっています。


バッチファイルを管理者として実行します。


バッチファイルが実行されます。


再度確認してみると設定が反映されています。

ファイルをダウンロードする

今回、紹介したバッチファイルは以下よりダウンロードができます。

ファイル名:SetIPAddressByHostname112.zip バージョン:v1.1.2 公開日  :20170707 更新日  :20170719 更新内容 :各処理にコメントを追加、設定値を画面出力させるように変更 実行した端末のコンピューター名を判別して自動的に指定のIPアドレスとDNSサーバーを設定す...

よく一緒に読まれている記事

IPアドレスとDNSサーバーをバッチで設定する方法【共通編】
IPアドレスとDNSサーバーをバッチファイルで設定する方法です。 table { width: 100%; bor...