我有一个支持环境,我们使用VPN和远程桌面连接到我们的许多客户的系统.现在,支持人员必须在他们的工作站上手动设置VPN连接.有没有办法以编程方式创建VPN连接?
查看CodePlex上的DotRas项目,RasPhoneBook组件完全支持管理Windows使用的电话簿.
http://www.codeplex.com/DotRas
它比直接使用API要容易得多,我可以保证.:)
查找RAS API(远程访问服务),它是一个win32 dll,但是您可以从C#中调用它。以下是一些可以帮助您入门的链接:
http://msdn.microsoft.com/zh-CN/library/aa446741(VS.85).aspx
http://social.msdn.microsoft.com/forums/zh-CN/netfxnetcom/thread/28125f40-9c3b-4e77-9bfb-8a975e9b3457/
我知道这个问题很老但我有同样的问题并用这个C#代码来解决它.也许这对某人有帮助.
首先,在您的个人计算机中创建VPN连接.它将存储在%userprofile%\ AppData\Roaming\Microsoft\Network\Connections\PBK中
然后用文本编辑器打开rasphone.pbk文件(例如Notepad ++)并复制你的连接信息.但别忘了.在此步骤之前,您必须完成连接设置.然后,从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