【发布时间】:2013-01-14 21:16:19
【问题描述】:
如何在 Windows cmd 中使用任意协议与任意服务器创建 VPN 连接?
【问题讨论】:
如何在 Windows cmd 中使用任意协议与任意服务器创建 VPN 连接?
【问题讨论】:
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
更多信息可以在这里找到:
【讨论】:
我知道这是一个非常古老的线程,但我一直在寻找解决同一问题的方法,我在最终找到答案之前遇到了这个问题,我想把它贴在这里,这样其他人会更短穿越互联网。
****请注意,您可能必须以管理员身份运行 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>
希望这会有所帮助。
【讨论】:
rasphone.pbk 文件时,我收到了 this function is only valid in win32 mode 错误。 (这只是一个信息性评论,后来我创建了文件,它按预期工作。)
你调查过 rasdial 吗?
以防万一有人想这样做并在将来找到它,您 可以在命令提示符下使用 rasdial.exe 连接到 VPN 网络
即
rasdial "VPN NETWORK NAME" "Username" *然后它会提示输入密码,否则您可以使用“用户名” “密码”,但是这不太安全
http://www.msfn.org/board/topic/113128-connect-to-vpn-from-cmdexe-vista/?p=747265
【讨论】: