timeout=10paramIP = params[2] ;; ■接続先IPアドレス
paramUSER = params[3] ;; ■ユーザー名
paramPASSWORD = params[4] ;; ■パスワードのdatファイル
paramINI = params[5] ;; ■INIファイル
paramAUTH = params[6] ;; ■認証方式(password/challenge)
paramVALUE = params[7] ;; ■判別する為の値
DECRYPT = '' ;; ■複合化パスワード変数の初期化
;; ***************************
;; ■ 復号化した文字列の取得
;; ***************************
getpassword ParamPASSWORD ParamUSER DECRYPT ;; ## 複合化パスワード取得
;; ***************************
;; ■ 値の判定(PuTTY)
;; ■ puttyjp.exe -ssh -2 -pw <パスワード> <ユーザ名>@<接続先IPアドレス>
;; ***************************
strscan paramVALUE 'PuTTY' ;; ■ 文字列に「PuTTY」が含まれているか判定
if result <> 0 then ;; ■ リザルト値 0 以外の場合は、PuTTY接続する
;; ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
;; ╋↓ 環境に合わせてパスを設定 ↓╋
puttyPATH = "C:\Program Files (x86)\PuTTY-ranvis\putty.exe" ;; ■ puttyのパスを格納
;; ╋↑ 環境に合わせてパスを設定 ↑╋
;; ╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋╋
expandenv puttyPATH ;; ■ 環境変数にputtyのパスを設定
LoginPuTTY = '-ssh -2 -pw ' ;; ■ PuTTY組み立て1
strconcat LoginPuTTY DECRYPT ;; ■ PuTTY組み立て(パスワード)
strconcat LoginPuTTY ' ' ;; ■ PuTTY組み立て2
strconcat LoginPuTTY paramUSER ;; ■ PuTTY組み立て(ユーザ名)
strconcat LoginPuTTY '@' ;; ■ PuTTY組み立て3
strconcat LoginPuTTY ParamIP ;; ■ PuTTY組み立て(IPアドレス)
sprintf2 EXEPATH '%s %s' puttyPATH LoginPuTTY ;; ■ コマンド組み立て
exec EXEPATH ;; ■ putty接続コマンド実行
end ;; ■ TeraTermマクロ終了
endif
;; ***************************
;; ■ SSH接続コマンド組み立て
;; ***************************
LoginSSH = paramIP ;; ## IPアドレス or ホスト名
strconcat LoginSSH ':22 /ssh /auth=' ;; ## 認証方式オプション
strconcat LoginSSH paramAUTH ;; ## 認証方式の値
strconcat LoginSSH ' /user=' ;; ## ユーザ名オプション
strconcat LoginSSH paramUSER ;; ## ユーザ名の値
strconcat LoginSSH ' /passwd=' ;; ## パスワードオプション
strconcat LoginSSH DECRYPT ;; ## パスワードの値
strconcat LoginSSH ' /F=' ;; ## INIファイルオプション
strconcat LoginSSH paramINI ;; ## INIファイルの値
;; ***************************
;; ■ SSH接続ログイン
;; ***************************
connect LoginSSH
;; ***************************
;; ■ ログイン判定
;; ***************************
if result <> 2 then
messagebox '接続エラー' '【connection err】'
end
endif
wait '$' '#'
sendln 'uname -n'
sendln 'echo ##################### 'paramIP' ##################### '
;; ***************************
;; ■ 値の判定
;; ***************************
strcompare paramVALUE 'Solaris' ;; ## Solaris判定
if result <> 0 then ;; ## Solaris以外なら以下のコマンド実行
sendln 'ip a | grep 'paramIP
sendln 'whoami'
endif
sendln 'date'
statusbox '1秒後にマクロ終了します' '【マクロ終了】'
pause 1
;; messagebox 'マクロを終了します' '【マクロ終了】'
end
PR