在 XP Pro 工作站中,有没有办法启动本机 Windows VPN 客户端并从命令行打开/关闭连接,以便可以在批处理文件中编写脚本?
答案1
是的,如果 VPN 连接名为“我的 VPN”,那么:
rasdial "My VPN"
将拨号连接。如果连接失败,它会将错误级别设置为 RAS 错误代码,这样您的脚本就可以检测到连接失败。如果您需要提供用户名和密码而不是使用保存的凭据,请使用:
rasdial "My VPN" username password
要断开连接,请使用:
rasdial "My VPN" /disconnect
JR
答案2
在 Windows 7 下可行的另一种方法是(不确定 XP 是否适用):
rasphone -d "My VPN"
这将打开“拨号”对话框,就像双击连接一样。如果您保存了用户名和密码,它会自动拨号。
rasdial
对我来说不起作用(在 Windows 7 上):
Verifying username and password...
Remote Access error 691 - The remote connection was denied because the user name
and password combination you provided is not recognized, or the selected authen
tication protocol is not permitted on the remote access server.
如果在 Windows 7 下添加空字符串,它可以与缓存的凭据一起使用:rasdial“My VPN”“”“”(这是两对双引号,中间没有任何内容)
答案3
运行命令行:Control ncpa.cpl
网络连接控制
首次运行时,编辑“我的 VPN 设置”
设置完成后,编辑我的VPN设置
保存凭证
目标 VPN 主机设置
静默 VPN 设置
VPN 网络
VPN TCP 高级
VPN 网关
高级网络连接
设置优先级接口
设置优先级接口应用
设置优先网络提供商
脚本Silent-dial.cmd
:
:: - comment in cmd) - REM alternative
:: disabled command output
@echo off
:: Silent dial "My VPN"
@rasphone -d "My VPN"
:: wait 10 sec W2K3 server test
::@SET waitsec=10
::@choice /T %waitsec% /N /D y /M "wait %waitsec% sec"
:: wait 10 sec - alternative - XP .. 7
@ping 127.0.0.1 -n 10 > NUL
:: ********************************************
:: get path
:: set route table
:: run application
:: ********************************************
@ping 127.0.0.1 -n 10 > NUL
:: silent close "My VPN" connection
@rasphone -h "My VPN"
:: END Silent-dial.cmd
使用 powershell 或 WSH。