如何批量获取Cisco VPN连接状态以进行进一步处理

问题描述 投票:0回答:1

我想在批处理脚本中检查我是否连接到 Cisco VPN。我目前正在尝试的是:

.\vpnclient.exe | Findstr 'Connected'

这确实有效:调用

vpnclient.exe
打开 Cisco 的 cli 工具,然后
Findstr
命令正确运行。我无法开始工作的是:如何以编程方式退出该工具并继续?然后我可以手动退出该工具,但这并不是真正的自动化理念。

我尝试过简单地将

exit
放在下一行,或
echo exit | vpnclient.exe | Findstr 'Connected'
.\vpnclient.exe | Findstr 'Connected' | exit
exit | .\vpnclient.exe | Findstr 'Connected'

这些都没有退出该工具,脚本的执行只是停止。有时,我什至无法再手动退出,必须打开一个新窗口。

stackoverflow 上的其他问题没有帮助,似乎没有人尝试以编程方式退出并继续。

如何以编程方式退出 Cisco 的 cli 工具或以其他方式检查连接状态,以便我可以根据连接状态继续执行?

编辑:

(echo Y|vpnclient.exe) | Findstr "Connected"
带我进入cli工具,但我仍然必须通过ctrl + c手动退出它,这是不可用的。我觉得思科的工具在这里有一些奇怪的行为,还是我错了?

batch-file vpn cisco
1个回答
0
投票

我之前找到的网站和线程都建议只需调用

.\vpnclient.exe
即可获取连接状态。这导致了问题中描述的行为。

事实证明,VPN 客户端有一个名为

status
的命令,它的作用正是人们所期望的。所以,有效的是:

.\vpnclient.exe status | Findstr "Connected"
echo %errorlevel%

就这么简单。我不知道为什么不经常推荐这样做。

© www.soinside.com 2019 - 2024. All rights reserved.