teraterm マクロの作り方


マクロ作成の流れ

マクロを動かすには、処理を記述したファイルが必要です。
それがTTLファイルです。
TTLファイルの作成方法には、以下があります。

・Macro for TeraTerm  
・Teratermを起動し、メニューからヘルプの目次を選択。

作成したTTLファイルは、以下の2パターンの方法で実行が可能です。
TeratermにTTLファイルを読み込ませて実行
TTLファイルをダブルクリックして実行

↑ただし、上記のTTLファイル作成方法だとわかりづらいと思いますので、
 以降はこれを簡単に説明していこうと思います。

TTLファイルの作成方法

機器へのログイン

まずは機器へのログインです。接続方法によって、処理の記述が変わってきます。

Telnetログイン

connect ‘<IPアドレス>:23 /nossh’

<IPアドレス>・・・IPv4アドレスを記載

上記を基にログイン処理を記述していきます。
connectでtelnet接続を行った後、
基本は、waitでプロンプトを待ち、sendlenでコマンド投入となります。

connect ‘192.168.1.1:23 /nossh’
wait ‘login:’
sendln ‘user1’
wait ‘password:’
sendln ‘password1’

SSHログイン

パスワードによるSSHログインは以下となります。

connect ‘<IPアドレス> /ssh /auth=password /user=<userID> /passwd=<password>’

<IPアドレス>・・・IPv4アドレスを記載
<userID>・・・・ログイン用のユーザーIDを記載
<password>・・・ログイン用のパスワードを記載

上記を基にログイン処理を記述すると以下になります。

connect ‘192.168.1.1 /ssh /auth=password /user=user1 /passwd=password1’

別パターンで以下のように変数を使う書き方もあります。

;ログイン情報
USERNAME=’user1′
PASSWORD=’password1′
IPADDRESS=’192.168.1.1′
;ログインコマンド生成
COMMAND = IPADDRESS
strconcat COMMAND ‘/ssh /auth=password /user=’
strconcat COMMAND USERNAME
strconcat COMMAND ‘/passwd=’
strconcat COMMAND PASSWORD
;ログイン
connect COMMAND

コンソールログイン

connect ‘/C=<COMポート番号>’

<COMポート番号>・・シリアルケーブルを接続させた際のCOMポートの番号
以下の画像の場合、4になる。

投入コマンドの記述

基本は、waitでプロンプトを待ち、sendlenでコマンド投入となります。

ログ保存

基本は以下2つを使用します。

logopen LOGFILE 0 1
logclose

logopenは、ログ記録の開始で、引数は以下となります。
・LOGFILE:’ログファイル名’
・数字1:0なら受信した漢字や改行文字を変換してファイルに書き込み
・数字2:0なら上書き、0以外なら追記
ログファイル名は、フルパスで指定すると、その場所になりますが、
ログファイル名だけだと、設定メニューの「その他の設定」の↓下の画像の「標準のログ保存先フォルダ」で指定した場所になります。

logcloseはログ記録終了。

ログ保存(ログ名に日時を入れるパターン)←よくやります。

gettime timestr “%Y%m%d-%H%M%S”
sprintf2 filename ‘%s.txt’ timestr
logopen filename 0 0

完成系

上記の説明にて、完成した
CISCO機器への自動ログインマクロ。

TELNETSSHConsole

おまけ

よく使うものを紹介します。

コマンド投入

sendln <data1> <data2> …

■文字列待ち

wait <string1> [<string2> …]

■一定時間待機

pause <time>

■文字の結合

strconcat <strvar> <string>

■時間取得

getdate <strvar> [<format> [<timezone>]]