43

如何在 Windows 中使用任意协议创建与任意服务器的 VPN 连接cmd

4

3 回答 3

42

我知道这是一个非常古老的线程,但我一直在寻找解决同一问题的方法,在最终找到答案之前我遇到了这个问题,我想把它贴在这里,这样我鞋子里的其他人就会有更短的路程穿越互联网。

****请注意,您可能必须以管理员身份运行 cmd.exe 才能正常工作**

所以我们开始吧,打开提示符(作为管理员)并转到您的System32目录。然后运行

C:\Windows\System32>cd ras

现在您将位于 ras 目录中。现在是时候使用我们的连接信息创建一个临时文件,然后我们将其附加到rasphone.pbk文件中,这将允许我们使用 rasdial 命令。

所以要创建我们的临时文件运行:

C:\Windows\System32\ras>复制 con temp.txt

现在它可以让你输入文件的内容,应该是这样的:

[CONNECTION NAME]
MEDIA=rastapi
Port=VPN2-0
Device=WAN Miniport (IKEv2)
DEVICE=vpn
PhoneNumber=vpn.server.address.com

因此,将 CONNECTION NAME 和 vpn.server.address.com 替换为所需的连接名称和所需的 vpn 服务器地址。

新建一行,然后按 Ctrl+Z 完成并保存。

现在我们将其附加到 rasphone.pbk 文件中,该文件可能存在也可能不存在,具体取决于您是否已经配置了网络连接。为此,我们将运行以下命令:

C:\Windows\System32\ras>类型 temp.txt >> rasphone.pbk

这会将 temp.txt 的内容附加到 rasphone.pbk 的末尾,或者如果 rasphone.pbk 不存在,它将被创建。现在我们不妨删除我们的临时文件:

C:\Windows\System32\ras>del temp.txt

现在我们可以使用以下命令连接到我们新配置的 VPN 服务器:

C:\Windows\System32\ras>rasdial "CONNECTION NAME" myUsername myPassword

当我们想断开连接时,我们可以运行:

C:\Windows\System32\ras>rasdial /DISCONNECT

那应该覆盖它!我已经包含了一个直接副本,并从我的命令行设置了一个连接并使用此方法连接到加拿大 vpn 服务器:

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>cd ras

C:\Windows\System32\ras>copy con temp.txt
[Canada VPN Connection]
MEDIA=rastapi
Port=VPN2-0
Device=WAN Miniport (IKEv2)
DEVICE=vpn
PhoneNumber=ca.justfreevpn.com
^Z
        1 file(s) copied.

C:\Windows\System32\ras>type temp.txt >> rasphone.pbk

C:\Windows\System32\ras>del temp.txt

C:\Windows\System32\ras>rasdial "Canada VPN Connection" justfreevpn 2932
Connecting to Canada VPN Connection...
Verifying username and password...
Connecting to Canada VPN Connection...
Connecting to Canada VPN Connection...
Verifying username and password...
Registering your computer on the network...
Successfully connected to Canada VPN Connection.
Command completed successfully.

C:\Windows\System32\ras>rasdial /DISCONNECT
Command completed successfully.

C:\Windows\System32\ras>

希望这可以帮助。

于 2014-02-18T04:08:14.707 回答
29

你调查过rasdial吗?

万一有人想这样做并在将来发现它,您可以从命令提示符使用 rasdial.exe 连接到 VPN 网络

IErasdial "VPN NETWORK NAME" "Username" *

然后它会提示输入密码,否则您可以使用“用户名”“密码”,但这不太安全

http://www.msfn.org/board/topic/113128-connect-to-vpn-from-cmdexe-vista/?p=747265

于 2013-01-30T22:28:26.200 回答
14

Powershell 是一种选择吗?

启动 Powershell:

powershell

创建 VPN 连接:Add-VpnConnection

Add-VpnConnection [-Name] <string> [-ServerAddress] <string> [-TunnelType <string> {Pptp | L2tp | Sstp | Ikev2 | Automatic}] [-EncryptionLevel <string> {NoEncryption | Optional | Required | Maximum}] [-AuthenticationMethod <string[]> {Pap | Chap | MSChapv2 | Eap}] [-SplitTunneling] [-AllUserConnection] [-L2tpPsk <string>] [-RememberCredential] [-UseWinlogonCredential] [-EapConfigXmlStream <xml>] [-Force] [-PassThru] [-WhatIf] [-Confirm] 

编辑 VPN 连接:Set-VpnConnection

Set-VpnConnection [-Name] <string> [[-ServerAddress] <string>] [-TunnelType <string> {Pptp | L2tp | Sstp | Ikev2 | Automatic}] [-EncryptionLevel <string> {NoEncryption | Optional | Required | Maximum}] [-AuthenticationMethod <string[]> {Pap | Chap | MSChapv2 | Eap}] [-SplitTunneling <bool>] [-AllUserConnection] [-L2tpPsk <string>] [-RememberCredential <bool>] [-UseWinlogonCredential <bool>] [-EapConfigXmlStream <xml>] [-PassThru] [-Force] [-WhatIf] [-Confirm]

查找 VPN 连接:Get-VpnConnection

Get-VpnConnection [[-Name] <string[]>] [-AllUserConnection]

连接:rasdial [connectionName]

rasdial connectionname [username [password | \]] [/domain:domain*] [/phone:phonenumber] [/callback:callbacknumber] [/phonebook:phonebookpath] [/prefixsuffix**]

您可以使用上面的 powershell 命令管理您的 VPN 连接,只需使用连接名称通过rasdial.

的结果Get-VpnConnection可能有点冗长。这可以通过一个简单的Select-Object过滤器来简化:

Get-VpnConnection | Select-Object -Property Name

更多信息可以在这里找到:

于 2015-05-30T12:21:30.367 回答