如何以编程方式创建Windows VPN连接?

时间:2008-11-25 17:36:37

标签: windows vpn

我有一个支持环境,我们使用VPN和远程桌面连接到许多客户的系统。现在,支持人员必须在他们的工作站上手动设置VPN连接。有没有办法以编程方式创建VPN连接?

7 个答案:

答案 0 :(得分:14)

查看CodePlex上的DotRas项目,RasPhoneBook组件完全支持管理Windows使用的电话簿。

http://www.codeplex.com/DotRas

这比直接使用API​​要容易得多,我可以保证。 :)

答案 1 :(得分:5)

我知道这个问题已经很老了,但我有同样的问题并用这个C#代码来解决它。也许对某人有帮助。

首先,在您的个人计算机中创建vpn连接。它将存储在%userprofile%\ AppData \ Roaming \ Microsoft \ Network \ Connections \ PBK

然后使用文本编辑器(例如Notepad ++)打开rasphone.pbk文件并复制连接信息。但别忘了。在此步骤之前,您必须完成连接设置。然后,从rasphone.pbk文件中复制您的连接信息并粘贴到脚本(到rasphone字符串)。提示:rasphone.pbk文件只包含设置。没有用户名和密码......

在我的代码中,我使用这些设置创建连接;
连接名称:RAS - >起初线[RAS]
连接IP:ras.ugurturhal.com
VPN类型:PPTP,支持的CHAP和MS-CHAP v2协议

代码检查您的VPN连接。如果您的连接名称是RAS或IP地址是ras.ugurturhal.com,则代码不会更改任何内容并向您发出警告。如果你有很多VPN连接,并且它们都没有相同的设置(在上面),它也会“添加”这个VPN。最后,如果你没有VPN连接,它将创建一个新的。

注意:您无法在网络上看到由C#创建的VPN连接。但它会起作用。重新启动计算机后,将在您的网络上看到它:)

我希望这对某人有帮助。

您可以从我的Web Host ..

下载我的项目文件

问候。

PS:我尝试将所有代码添加到此处,但在stackoverflow中是非常新的。请原谅我。您可以下载样本;)

PS2:或者你可以从GitHub查看。谢谢@axrwkr

答案 2 :(得分:4)

查找RAS API(远程访问服务),它是一个win32 dll,但你可以从C#调用它。以下是一些可以帮助您入门的链接:

答案 3 :(得分:4)

在Windows上,ras电话簿存储在一个简单的ini文件中,可以在

找到

C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Network \ Connections \ Pbk \ rasphone.pbk

您可以在计算机上准备这样的文件,然后通过简单地将其复制到指定路径(或将其内容附加到现有文件)将此文件部署到客户。要在“网络连接”面板中显示新连接,只需刷新资源管理器的视图(通过 F5 键),甚至不需要重新启动资源管理器。

答案 4 :(得分:2)

我知道这不是“已批准”的方法。但我多年来一直这样做没有问题。

在您自己的计算机上设置vpn,确保其中只有一个VPN设置,或者您将所有这些设置部署到您的员工。在您的PC上找到rasphone.pbk文件,将其重命名为myVPN.pbk(或任何您想要的),并使用Altiris或其他任何内容将其部署到每个人的桌面。

当他们点击它时,它会打开并正常工作。作为一个额外的好处,它将它放在网上,并告诉你的员工右键单击链接并将其保存到他们的桌面并点击它。自从我第一次发现它在大多数10年前工作以来,我们的大学一直在这样做。

答案 5 :(得分:0)

您需要批处理脚本才能连接到基本计算机上设置的VPN。 我有一个类似的问题需要处理,我发现thisthis链接有帮助。我过去使用过这个解决方案(第一个链接),所以它可以工作,但我不再有批处理脚本了。

1。)在脚本中包含rasphone.pbk(在C:\ Users \ USERNAME \ AppData \ Roaming下的C:\ Documents and Settings \ All Users \ Application Data \ Microsoft \ Network \ Connections \ Pbk \下) \ Microsoft \ Network \ Connections \ Pbk in Vista)

2.。)将工作目录设置为变量名,以便返回

3。)根据用户个人资料

,使用变量名称移动到存储电话簿的目录

4.。)测试电话簿是否存在,如果是,则将其重命名为rasphone.pbk.bk,然后从脚本位置xcopy(保存在变量中)将新电话簿发送到新位置。

5.)连接。

6。)准备好后,断开并覆盖电话簿,如果有原始文件,请使用您的设置,否则只需删除电话簿。

答案 6 :(得分:0)

我是CMAK会有所帮助(CONNECTION MANAGER ADMINISTRATOR KIT)