XP 中通过命令行连接/断开 VPN 客户端

XP 中通过命令行连接/断开 VPN 客户端

在 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。

答案4

我还没有看到客户端的命令行方案。但这并不意味着它不能在脚本中自动化。以下是两步方法,

  • 为 VPN 创建快捷方式链接,就像为 VPN 用户正常创建一样
    • 保持配置用户名和密码
  • 使用自动识别仅编写脚本,
    • 启动快捷方式,然后
    • 在 VPN 登录窗口上按 ENTER 键(这是用户在配置完所有内容后执行的操作)

如果我没记错的话,在窗口上按回车键的代码很简单,

Send ("{ENTER}")

看着那(这发送命令。

您可以在一台管理机器上安装 AutoIt,让脚本运行,制作并执行它,然后将其提供给用户。然后可以从命令行将其作为可执行文件启动。

相关内容