之前写过怎么用powershell并行开teraterm的窗口,但是还是不满足
因为还要一个个填密码
,这是很浪费时间的活
最近知道了ttl文件的用法,试着用ttl文件来代入密码,实现登陆
方法依然是用powershell
原理是
powershell写ttl文件-》然后循环ttermpro命令调用写好的ttl文件
研究出来的脚本如下
$userid="vagrant"
$passwd="vagrant"
$serverlist="amainst","anodest01","anodest02"
$cupath="C:\Users\Administrator\Desktop\python_script\testdir"
$svrindex=1
foreach ($svr in $serverlist) {
echo "connect `'$svr /ssh /auth=password /user=$userid /passwd=$passwd`'" |out-file login$svrindex.ttl -encoding utf8
ttermpro /M=$cupath\login$svrindex.ttl
$svrindex += 1
}
效果如下
几行代码解析
# 登陆用的用户名
$userid="vagrant"
# 登陆用的密码
$passwd="vagrant"
# 登陆用的服务器列表
$serverlist="amainst","anodest01","anodest02"
# ttl文件的路径,之前文章说过,要绝对路径,我建议要执行的时候创建一个新目录
$cupath="C:\Users\Administrator\Desktop\python_script\testdir"
# 文件名区分
$svrindex=1
foreach ($svr in $serverlist) {
# 要注意这个输入必须要制定编码,不然用echo 直接重定向文件是用不了的
echo "connect `'$svr /ssh /auth=password /user=$userid /passwd=$passwd`'" |out-file login$svrindex.ttl -encoding utf8
ttermpro /M=$cupath\login$svrindex.ttl
$svrindex += 1
}
最后,我要说这个脚本有个大问题,就是密码是明文的,用完请删掉ttl文件或者说循环里直接删掉
有心者可以自行研究密文密码输入
2018-7-20更新
还有更简便的写法
# 在你的ttl目录下
ls -Name|ForEach-Object {ttermpro /M="<当前路径>\"$_}