如何编写脚本 vpncmd 来批量命令连接/断开?

如何编写脚本 vpncmd 来批量命令连接/断开?

这是我的连接脚本

- - -开始 - - -

vpncmd localhost /client
accountconnect myConnectionName

- - -结尾 - - -

执行后连接脚本,屏幕结果如下:

Connected to VPN Client "localhost".

VPN Client>

accountconnect 我的连接名称未被执行。

如何得到accountconnect 我的连接名称在提示符下运行VPN Client>

答案1

vpncmd可以使用开关将带有命令的文件用作输入/IN:file

这是我用来实现事物自动化的方法。

就像是 :

vpncmd localhost /client /in:commands.txt

然后输入你的命令commands.txt

accountconnect myConnectionName

如果您只想发送一个命令,那么/INswitch 可能会有点小题大做。

在这种情况下,你可以使用/CMD开关,例如:

vpncmd localhost /client /CMD accountconnect myConnectionName

有关命令行参数的进一步阅读:

答案2

这是一个基于以下文档编写的 bash 脚本 https://www.softether.org/4-docs/1-manual/6._Command_Line_Management_Utility_Manual/6.2_General_Usage_of_vpncmd#6.2.3_Command_Line_Parameters_When_Starting_a_vpncmd_Command

#!/bin/bash
VPN_HOME=/usr/apps/vpnclient
NEW_IP=192.168.1.2
ACCOUNT_NAME=
function start(){

cd $VPN_HOME

sudo ./vpnclient start

./vpncmd localhost /client /CMD remoteenable
./vpncmd localhost /client /CMD accountconnect $ACCOUNT_NAME
#You can add your commands here

}

function stop(){
cd $VPN_HOME

sudo ./vpnclient stop
}
START="start"
STOP="stop"
HELP="help"

function help(){

 echo "#################################################################";      
 echo "#---------------------------Help--------------------------------#";      
 echo "#################################################################";     
 echo "./vpn-manger.sh command                                                  
 echo "-----------------------------------------------------------------";        
 echo "commands are $START , $STOP or $HELP"                                     
 echo "#################################################################";

}
function commands(){                                                              
       COMMAND=$1                                                                 
       case "${COMMAND,,}" in                                                     
                  "$START")       start;          ;;                                
                  "$STOP")        stop;           ;;                                
                  "$HELP")        help;           ;;                                       
                  *)              echo "Please Check your Command";    ;;                             
       esac                                                                            
}

commands $1;

相关内容