こんばんは!今回はTeraTermというソフトを使用してネットワーク機器(L2)のConfigをマクロで自動取得する方法です。
WindowsコマンドプロンプトでもTelnet接続は設定すれば可能ですので、もしTeraTermがインストールできない環境のでTelnet接続する場合はこちらの記事をご覧ください。
TeraTermは遠隔でIPアドレスを指定しCLI(コマンドライン)でログインする事が出来るソフトです。更にTeraTermはマクロ作成をすることが出来ます。この記事は、TeraTermを使用し、ネットワーク機器へ自動ログイン→Config取得→ログ出力までを自動化した時の備忘録です。
TeraTermマクロ 作成方法
TeraTermマクロを作成するとワンクリックでリモート接続→ログイン→コマンド入力→ログ出力→ログアウトまで一瞬で終わります。
TeraTermマクロ Config取得コード例
例として下記の設定のL2スイッチになります。
- 機器: QX
- IPアドレス: 192.168.1.1
- ユーザーID: admin
- パスワード: password
マクロを作成するには、メモ帳に下記のコードを貼り付けます。保存するときは拡張子.ttlで保存し完了となります。
;======================
; Filename : 192.168.1.1ログ取得.ttl
; Description : telnet Auto login
; Author : name
; Created : 2019/09/01
;======================
;; 接続先サーバ・ユーザ名・パスワード設定
username = ‘admin‘ ; ログインに使用するユーザー名に書き換える
HOSTADDR = ‘192.168.1.1‘ ;接続するサーバーのIP/サーバー名に書き換える
PASSWORD = ‘password‘
;
;;ログ取得場所設定
LOGSPATH = ‘C:\Backup\‘
;======================
;
;; ①コマンド組立
COMMAND = HOSTADDR
strconcat COMMAND ‘:23 /nossh /T=1’
strconcat COMMAND username
strconcat COMMAND ‘ /passwd=’
strconcat COMMAND PASSWORD
;
;
;;②ログ名の決定
getdate LOG_NAME ‘TEST-QX_&h.log‘
FULLPATH = LOGSPATH
strconcat FULLPATH LOG_NAME
;
;
;;③サーバ接続
connect COMMAND
;
;
;;④ログイン情報応答(ユーザ名・パスワード)
wait ‘login:’
sendln ‘admin’
wait ‘Password:’
sendln ‘password’
wait ‘TEST-QX#’
sendln ‘conf t’
wait ‘TEST-QX(config)#’
sendln ‘terminal length 0’
wait ‘TEST-QX(config)#’
;
;;⑤ログ取得命令
logopen FULLPATH 0 0
pause 2
;
sendln ‘show run’
wait ‘TEST-QX(config)#’
sendln ”
sendln ”
sendln ”
pause 2
;
;
sendln ‘show log’
wait ‘TEST-QX(config)#’
sendln ”
sendln ”
sendln ”
pause 2
;
;
;;⑥ログクローズ
logclose
;
;
;;⑦マクロ終了
wait ‘TEST-QX(config)#’
sendln ‘exit’
wait ‘TEST-QX#’
sendln ‘exit’
;
;
;;⑧TeraTarm終了
closett
;
end
TeraTermマクロ 修正するには?
コピペしても意味が解らないと修正出来ないので簡単に、コマンドの説明をします。
;(セミコロン) = コメントする
wait ‘〇〇’ = 〇〇の文字列のプロンプトを待ちます。
pause 2 = 2ミリ秒待ちます。
sendln ‘●●’ = ●● の文字列のコマンドラインを送ります。
sendln ” = 改行のコマンドラインを送ります。
※sendln ” の’’はダブルクォテーションではありません。シングルクォテーションが2つです。
TeraTermマクロ 作成のコツ
TeraTermマクロを作成するには、一度手動でログインしてプロンプト表示をイメージします。
下記のスイッチログイン後の「手動ログインの場合」と「TeraTermマクロ記述の場合」の番号を照らし合わせるとマクロ記述方法がイメージしやすいかと思います。
手動ログインの場合
- リモート接続後にlogin:という文字列が表示される。
- adminと打つ。
- IDを入力したらPassword:が表示される。
- パスワードを打つ。
- 正しければプロンプトTEST-QX#と表示される。
- コンフィグレーションモードログインの為conf tと打つ。
- TEST-QX(config)#と表示されます。
TeraTermマクロ記述の場合
- wait ‘login:’と記述する。
- sendln ‘admin’と記述する。
- wait ‘Password:’ と記述する。
- sendln ‘password’と記述する。
- wait ‘TEST-QX#’ と記述する。
- sendln ‘conf t’と記述する。
- wait ‘TEST-QX(config)#’と記述する。
このように、プロンプトに出てくる文字列と打ちたいコマンドを記述しながらTeraTermマクロを作成します。TeraTermマクロは定期作業などの場合は非常に便利なツールになりますのでぜひ活用してみてください。
telnet接続ではなくSSH接続でマクロを作成したい方は下記の記事を参考にしてみてください。それではー!