csvファイルを利用して大量の端末のIPアドレスとDNSサーバーを一度に設定する方法

W10-SetIPAddressByBatchFiles-04

IPアドレスとDNSサーバーを設定するためのバッチファイルを大量に作成する方法です。

この方法を利用すれば、何かしらの管理コンソールから大量の端末のIPアドレスとDNSサーバーを一発で変更することも可能になります。従って、キッティングの時に間違って設定してしまった場合でも、それほど手間をかけずに設定を変えることが可能です。

作業の流れ

  1. コンピューター名とIPアドレス、DNSサーバーをリストにしたcsvファイルを準備する。
  2. VBSを実行する。
  3. csvのA列をファイル名にしたIPアドレス設定用バッチが一度に生成される。
  4. 3で作成されたバッチを呼び出すためのバッチを実行することで実行された端末のIPアドレスとDNSサーバーが自動的に設定される。

ファイルをダウンロード


まず、以下の場所から必要なファイルをダウンロードしてください。


ダウンロードしたファイルを解凍してください。解凍後の中身はこのような構成になっています。

W10-SetIPAddressByBatchFiles-01

バッチファイルを作成する

tools フォルダを開いてください。

W10-SetIPAddressByBatchFiles-02


tools フォルダ内にある _list.csv を EXCEL で開いてください。ちなみにファイル名の前に「_(アンダーバー)」を入れているのは、このフォルダ内で一番上に表示させるためです。ファイル名は後述するVBSと紐付いているため、名前を変更する場合はスクリプト側も変更する必要があります。意味がわからない場合は、まずは本記事の手順通りに進めていただくことをお勧めします。

W10-SetIPAddressByBatchFiles-03


_list.csv はサンプルフォーマットとなっています。これを利用環境に従ってカスタマイズしてしていきます。

W10-SetIPAddressByBatchFiles-04


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

W10-SetIPAddressByBatchFiles-05


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

W10-SetIPAddressByBatchFiles-06


B列にネットワークインターフェース名を入力していきます。一度、お使いの環境を確認頂きたいのですが、有線LAN の場合、Windows 10 だと「イーサネット」、Windows 7 は「ローカル エリア接続」が一般的です。

W10-SetIPAddressByBatchFiles-07


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

W10-SetIPAddressByBatchFiles-08


以下の4パターンの設定が可能です。

  1. 【赤枠】IPアドレスとDNSサーバーが両方とも固定の場合
  2. 【緑枠】IPアドレスが固定、DNSサーバーが自動(DHCP)の場合
  3. 【橙枠】IPアドレスが自動(DHCP)、DNSサーバーは固定の場合
  4. 【青枠】IPアドレスとDNSサーバーが両方とも自動(DHCP)の場合

なお、数字と「.(ピリオド)」は半角、DHCP の文字は半角大文字で入力してください。

W10-SetIPAddressByBatchFiles-09


今回はテストなのでサンプルをそのまま利用したいと思います。

W10-SetIPAddressByBatchFiles-10


_CreateIPSettingBatch.vbs をダブルクリックします。

W10-SetIPAddressByBatchFiles-11


A列に入力していたコンピューター名がそのままファイル名となったバッチファイルが作成されます。

W10-SetIPAddressByBatchFiles-12


試しに今回作成した PC003.bat の中身を確認してみます。確認したい場合は、ファイルを右クリックして「編集」で開くことができます。

W10-SetIPAddressByBatchFiles-13


ファイルを確認してみるとこのようにIPアドレスとDNSサーバーを設定するためのバッチとなっています。

W10-SetIPAddressByBatchFiles-14


ちなみにIPアドレスとDNSサーバーを設定するバッチの基本的な構文については、以下の記事が参考になります。

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

今回は、PC003 のコンピューター名が割り当てられている端末でテストしてみます。

W10-SetIPAddressByBatchFiles-15


一番最初の階層まで戻り、SetIPAddressByBatchFiles.bat を管理者として実行します。

W10-SetIPAddressByBatchFiles-18


ここが今回の肝となるポイントなのですが、SetIPAddressByBatchFiles.bat には実行された端末のコンピューター名(今回の例だと PC003)を取得して、その名前と一致するバッチファイル(今回の例だと PC003.bat)を実行してくれる仕組みが入っていますので、間違ったバッチを実行することは絶対にありえません。

W10-SetIPAddressByBatchFiles-19


ちなみにコンピューター名と一致するバッチファイルが見つからなかった場合は、以下のようにエラーがでます。

W10-SetIPAddressByBatchFiles-20


バッチ実行後、B列以降で指定したIPアドレスとDNSサーバーが設定されました。

W10-SetIPAddressByBatchFiles-21