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


22

在XP Pro工作站中,是否有办法启动本机Windows VPN客户端并从命令行打开/关闭连接,以便可以在批处理文件中编写脚本?

Answers:


31

是的,如果VPN连接称为“我的VPN”,则:

rasdial "My VPN"

将拨打连接。有用的是,如果连接失败,它将错误级别设置为RAS错误代码,因此您的脚本可以检测到连接失败。如果您需要提供用户名和密码,而不是使用保存的凭据,请使用:

rasdial "My VPN" username password

要断开连接,请使用:

rasdial "My VPN" /disconnect

JR


2
+1。这正是我在构建自动化脚本中寻找的东西。比我预期的要容易得多。
约瑟夫·弗里斯

FWIW也可以在Vista中使用(如预期的那样)
Scott Isaacs 2010年

1
如果您使用的是Windows 7,请参见EM的答案。rasphone如果rasdial对您不起作用,则可能需要使用。
ADTC

5

在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”“”“”(两对双引号,中间不包含任何双引号)


我无法在Windows 8.1上使用rasdial,但这很完美。+1
Smalltown2k 2014年

我必须提供明确的凭据才能使其在Windows 8.1上运行。
杰克·爱德华兹

rasdial无论是否使用空字符串,我都会遇到相同的错误。rasphone -d作品。要注意的一件事是,如果您从命令行手动运行它,则它在执行后立即返回到命令行(连接并行连接)。但是,如果将命令放在批处理脚本(.bat)文件中并运行该.bat文件,则该命令可以串行工作-也就是说,直到连接完成,它才将控制权返回给该批处理。这种差异可能会使新用户测试该命令感到困惑。
ADTC

通过使用rasphone,每次连接时都会弹出一个对话框。有什么方法可以使其自动运行并避免弹出对话框?我在此线程中看到(superuser.com/questions/106506/…),人们说我们可以进入VPN连接属性的选项标签,取消选中“提示输入名称和密码,证书等”。但是,我正在使用Windows 10,但找不到此类选项。
包伍

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。


0

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

  • 为您的VPN用户创建VPN的快捷链接,方法与通常一样
    • 使用用户名和密码进行配置
  • 使用AutoIt仅编写脚本,
    • 启动快捷方式,并
    • 在VPN登录窗口中按ENTER键(配置所有内容后,用户将执行此操作)

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

Send ("{ENTER}")

查看发送命令。

您可以在其中一台管理计算机上设置AutoIt,使脚本工作,为其制作和可执行文件,并将其提供给用户。然后可以从命令行将其作为可执行文件启动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.