一部の値だけが異なるコンフィグを多数まとめて作成したい
ネットワーク機器を多拠点展開する場合、拠点ごとに機器コンフィグを作成する必要があります。拠点数に比例してコンフィグ作成工数が大きくなります。
ここで、各拠点ごとの機器コンフィグは、ホスト名や IP アドレスなどの一部を除き同一になっているケースがあります。このようなケースにおいてはマクロを活用して作業効率化できます。ということで、コンフィグ作成作業を効率化するためのツールを作成しました。
このツールでは、テンプレートとなるコンフィグと各拠点別のパラメータの表を作成するだけで、各拠点用のコンフィグをすべて自動で出力することができます。
【公開中】類似コンフィグ一括作成ツール
ダウンロード
ツールは Box で公開しています。以下リンクからダウンロードできます。
- 最新版 <2022/08/18 版>
使い方
このツールは Excel VBA で作成されています。
マクロブックには macro シート
と table シート
があります


ツールの使い方は以下の通りです。
- テンプレートファイルを作成する
- table シートで表を作成する
- macro シートでテンプレートファイルを指定し、マクロを実行する
テンプレートファイルを作成する
まずはテンプレートとなるテキストファイルを作成します。
テンプレートファイルを作成するにあたり、可変値部分は置換用の文字列を記載しておきます。
例えば、以下のテンプレートファイルでは、<<parameter01>> ~ <<perameter06>>
を置換用の文字列として記載しています。この置換用文字列はツールを実行後にマクロブック上で指定された文字列に置換されます。
hostname <<parameter01>>
interface GigabitEthernet0
switchport access vlan <<parameter02>>
interface GigabitEthernet8
ip address <<parameter03>>
duplex <<parameter04>>
speed <<parameter05>>
ip route 0.0.0.0 0.0.0.0 <<parameter06>>
置換用の文字列を何にするかは任意ですが、意図しない置換をさせないために、置換対象箇所以外には現れないような文字列にしてください。
table シートで表を作成する
table シートでは、出力したいファイルの名前の指定と、出力ファイル別の可変値部分の置換後の文字列の指定を行います。

- 置換対象文字列欄の列数が足りない場合は、列をコピー&挿入することで追加することができます
- 表の行数が足りない場合は、行をコピー&挿入することで追加することができます
- 出力ファイル名はマクロブックの保存先フォルダからの相対パスで記載ができます。指定したフォルダが存在しない場合はフォルダが作成されます
macro シートでマクロを実行する
以下の [①テンプレートファイル選択] をクリックすると、ファイル選択ダイアログが表示されるため、あらかじめ作成しておいたテンプレートファイルを選択してください。その後、シート上の枠内にテンプレートファイルのパスが表示されていることを確認してください。

テンプレートファイルを選択出来たら [②コンフィグ作成開始] をクリックします。するとコンフィグ作成処理が開始されます。
処理が完了すると table シートの「出力ファイル名」で指定したパスにテキストが出力されます。

出力例
以下のテンプレートを使用します。<<parameter01>> ~ <<perameter06>>
を置換用の文字列として記載しています。
hostname <<parameter01>>
interface GigabitEthernet0
switchport access vlan <<parameter02>>
interface GigabitEthernet8
ip address <<parameter03>>
duplex <<parameter04>>
speed <<parameter05>>
ip route 0.0.0.0 0.0.0.0 <<parameter06>>
ツール実行後に出力されるテキストの内容な以下のようになります。
◆出力例:kyoten01.txt
hostname kyoten01RT
interface GigabitEthernet0
switchport access vlan 10
interface GigabitEthernet8
ip address 192.168.1.254
duplex auto
speed auto
ip route 0.0.0.0 0.0.0.0 192.168.1.1
テンプレートで記載していた <<parameter01>> ~ <<perameter06>>
の置換用の文字列は table シート上で指定した文字列に置換されています。
更新履歴
- 2022/08/18 版
- 初版
問い合わせ
バグ報告、改善要望などの連絡は以下の問い合わせフォーム、または Twitter からお願いします。