使用单个.bat脚本通过ssh连接到多个地址

使用单个.bat脚本通过ssh连接到多个地址,ssh,scripting,mikrotik,Ssh,Scripting,Mikrotik,我有一个27个Mikrotik路由器的环境,我想在每个路由器上添加一个具有相同凭据的用户 通常我必须在每个路由器上连接,并通过GUI单击以添加用户,但现在我找到了通过cmd使用SSH连接的方法 我写了这个-它连接在一个路由器上并执行添加用户过程 ssh admin@10.1.2.3 -password "Passw0rd!" "user add name=customer-support password=#F0ry0u! group=full" 但现在我想制作一个脚本,它可能会读取csv文件

我有一个27个Mikrotik路由器的环境,我想在每个路由器上添加一个具有相同凭据的用户

通常我必须在每个路由器上连接,并通过GUI单击以添加用户,但现在我找到了通过cmd使用SSH连接的方法

我写了这个-它连接在一个路由器上并执行添加用户过程

ssh admin@10.1.2.3 -password "Passw0rd!" "user add name=customer-support password=#F0ry0u! group=full"
但现在我想制作一个脚本,它可能会读取csv文件,其中包含我要在每个路由器上执行更改并连接以执行命令的所有路由器的ip地址。
这是可能的吗?

由于路由器,您确实可以从文件中读取它们的地址

例如,使用bash(您甚至可以通过WSL/WSL2或Git For Windows在Windows上执行bash,其中包括)

请参见“示例”,此处适用于您的案例

#!/bin/bash
# Purpose: Read Comma Separated CSV File
# Author: Vivek Gite under GPL v2.0+
# ------------------------------------------
INPUT=data.cvs
OLDIFS=$IFS
IFS=','
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read maddress
do
    echo "Address : $maddress"
    # do your SSH call here
done < $INPUT
IFS=$OLDIFS
#/bin/bash
#用途:读取逗号分隔的CSV文件
#作者:GPL v2.0下的Vivek Gite+
# ------------------------------------------
输入=data.cvs
OLDIFS=$IFS
如果s=','
[!-f$INPUT]&&&{echo“$INPUT文件未找到”;退出99;}
读《疯狂》的时候
做
echo“地址:$maddress”
#你的SSH呼叫在这里吗
完成<$INPUT
IFS=$OLDIFS
但如果您真的需要一个bat脚本,请参阅“.”

因为路由器,您确实可以从文件中读取它们的地址

例如,使用bash(您甚至可以通过WSL/WSL2或Git For Windows在Windows上执行bash,其中包括)

请参见“示例”,此处适用于您的案例

#!/bin/bash
# Purpose: Read Comma Separated CSV File
# Author: Vivek Gite under GPL v2.0+
# ------------------------------------------
INPUT=data.cvs
OLDIFS=$IFS
IFS=','
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read maddress
do
    echo "Address : $maddress"
    # do your SSH call here
done < $INPUT
IFS=$OLDIFS
#/bin/bash
#用途:读取逗号分隔的CSV文件
#作者:GPL v2.0下的Vivek Gite+
# ------------------------------------------
输入=data.cvs
OLDIFS=$IFS
如果s=','
[!-f$INPUT]&&&{echo“$INPUT文件未找到”;退出99;}
读《疯狂》的时候
做
echo“地址:$maddress”
#你的SSH呼叫在这里吗
完成<$INPUT
IFS=$OLDIFS
但如果您确实需要bat脚本,请参阅例如“”