TeraTermマクロの入門
今回の授業は、『Teratermマクロに触れよう!』です。ネットワークエンジニアは、なかなかプログラミングに対して構えてしまい触れようとしない人が多く感じます。まずは、コピペでもいいので触れてみましょう。
Contents
Teratermマクロとは
Teratermには、マクロ機能が標準搭載されております。Teratermをダウンロードすれば、一緒にダウンロードされていますので、そのままで使用できます。これをうまく使うことで、自動でログインが出来たり、ログ取得が出来たりすることが可能になります。
機器にログインするだけのマクロ
今回の授業では、「機器にログインするだけのマクロ」を作ってみたいと思います。まずは、実際のコードを書いておきますので、解説を見ながら自分の環境に合わせて修正してもらえればと思います。
;**********************************
; 作成者:ベル
; Version : 1.0版
; 内容:機器にログインするだけのマクロ;**********************************
; 変数の事前指定
; 接続先アドレス・ユーザ名・パスワード設定
HOSTADDR = ‘10.0.0.1’
USERNAME = ‘user’
PASSWORD = ‘password’;**********************************
; ログインパラメータの指定
; ログイン先アドレスの指定
COMMAND = HOSTADDR
strconcat COMMAND ‘:23 /nossh /T=1’;**********************************
; 機器へログイン(接続先アドレス)
connect COMMAND; ログイン応答(ユーザ名・パスワード)
wait ‘Username:’
sendln USERNAME
wait ‘Password:’
sendln PASSWORD;**********************************
; マクロ終了
end;**********************************
上記の内容をテキストにコピーして貼り付けてみてください。それで名前を付けて保存するわけですが、拡張子を「.ttl」にしてください。Teratermマクロの拡張子は「.ttl」となっているため、必ず変更して保存しましょうね。とりあえず「機器にログインするだけのマクロ.ttl」としてみます。
しかし、保存してみると知らない拡張子だということで真っ白なアイコンになっているのではないでしょうか。その場合は、アイコンを右クリックして『プログラムから開く』を選択してください。そこで、『ttpmacro.exe』と紐付けるように設定してください。「ttpmacro.exe」の保存先がわからない方は、「ttermpro.exe」の保存先と同じとなりますので探してみてください。「ttermpro.exe」をショートカットで使用している場合は、ショートカットの「プロパティ」を開くと「リンク先」が書かれていますので確認してもらえればわかると思います。
マクロの中身
それでは、マクロの中身を見ていきましょう。
コメント
マクロはコマンドだけではなくマクロでどんなことを実行しているのかをコメント書きすることができます。先頭に「;」を書いて置くことで、後で見た時にわかるのでコメントを残すクセをつけましょう。また、最初に「作成者」や「Version」を残すことでマクロの変更などを行った際にデグレード(※)が発生しにくくなるので、変更管理の意味も含めて記載する必要があります。最低限として以下のように書いておくといいですよ。
※デグレード・・・新しいバージョンが以前のバージョンよりも品質が悪化すること。
;**********************************
; 作成者:ベル
; Version : 1.0版
; 内容:機器にログインするだけのマクロ
;**********************************
変数の設定
マクロには決まって変数を使います。変数に値を入れておくことで、実行コマンドの変更ではなく値だけを変更するだけで済むようになります。例えば、以下のように定義しておくことで、接続先のアドレスやログイン時に使用するユーザ名やパスワードなどをマクロの実行コマンドには影響なく設定することが出来ます。
;**********************************
; 変数の事前指定
; 接続先アドレス・ユーザ名・パスワード設定
HOSTADDR = ‘10.0.0.1’
USERNAME = ‘user’
PASSWORD = ‘password’
;**********************************
もし接続先のアドレスを変更したくなった場合は、この「HOSTADDR」を変更するだけでOKとなります。
ログインの実行
次に書かれるのが実行時のパラメータになります。以下のような通常時に指定してるパラメータをマクロに書き込んでいきます。
「COMMAND」と書かれている新しい変数に先程指定した接続先アドレス(HOSTADDR)をイコールで代入しています。そのため接続先のアドレスが変更となる場合は、ここではなく先程指定した変数の定義内容を変更するだけで済みます。マクロの中身ではなく、事前定義部分で変更が済むようにしておくことがポイントとなります!
;**********************************
; ログインパラメータの指定
; ログイン先アドレスの指定
COMMAND = HOSTADDR
strconcat COMMAND ‘:23 /nossh /T=1’;**********************************
ログイン応答の設定
ネットワーク機器にtelnetログインしたことがある方は大体わかるかとは思いますが、ログイン時にユーザ名やパスワードが聞かれます。そのやり取りを想定してマクロを書いておく必要があります。
まずは、先程定義したCOMMAND(10.0.0.1)にアクセスしていきます。その後の応答としては、「Username:」とTeraterm画面に表示されるのを待っています。「Username:」と表示されたら、変数定義した「USERNAME」を投入していきます。同様に次に「Password:」と応答があったら、変数「PASSWORD」を投入するような手順となっています。
今回は、Cisco機器にログインするためのマクロとして作成しているのでこのように書いていますが、YAMAHAやNECの機器にログインする場合などは、当然応答内容が異なります。実行環境に合わせて変更するようにしましょう!
;**********************************
; 機器へログイン(接続先アドレス)
connect COMMAND; ログイン応答(ユーザ名・パスワード)
wait ‘Username:’
sendln USERNAME
wait ‘Password:’
sendln PASSWORD;**********************************
マクロ終了
これでマクロは終了になりますので、クローズする設定を忘れずに書いておきましょう。ただ、「end」と書くだけなので簡単ですね。
;**********************************
; マクロ終了
end;**********************************
実行してみよう
今回作成した「機器にログインするだけのマクロ.ttl」を実行してみましょう。ファイルをダブルクリックして以下のようにログイン出来ればOKですね!
まとめ
いかがでしたか?そんなに難しくないですよね?たったこれだけでネットワーク機器にログインすることが出来るのです。しかし、これだけでは、1台の機器にしかログインできないですよね?大丈夫です。たくさんの機器に入ってコマンドを実行するようなマクロも追って紹介していきますので!楽しみに待っていてくださいね~♪
“TeraTermマクロの入門” に対して1件のコメントがあります。