Windows 7:使用WLAN连接调度自动VPN连接

时间:2015-08-26 11:43:18

标签: windows-7 scheduled-tasks

似乎没有任何简单的方法告诉Windows 7网络连接应该总是使用VPN连接(就像在Linux中一样),所以我一直在玩Task Scheduler来做这件事

我需要的是在建立WLAN连接时自动连接到VPN。为什么?因为如果我手动连接到VPN,每次我让计算机进入休眠或休眠状态时,VPN都会断开连接,我必须再次手动连接。这很容易忘记。

在任务计划程序中,我创建了以下内容:

触发器: 在一个事件 - >日志:系统,来源:Power-Troubleshooter,事件ID:1 在一个事件 - >日志:系统,来源:内核功率,事件ID:42

(我在教程中找到了上述内容,它们似乎有效。)

动作:rasdial

这很有效。手动运行任务时,它会连接到VPN。

然而,问题是在睡眠/休眠后登录时,任务立即运行。因此,它在建立WLAN连接之前运行,因此在几秒钟内失败并退出。

所以,我需要的是将任务延迟几秒钟,直到建立WLAN连接。无论是指定的秒数还是更好的 - 等待建立WLAN连接。

有没有办法这样做,而无需创建带等待功能的脚本文件?如果任务失败,可以将任务设置为重试,但只有1分钟的间隔,这太长了。

如果唯一的解决方案是创建一个脚本文件来启动VPN连接,并在那里添加一个等待功能,有人可以给我看一个例子吗? (我根本不擅长Windows脚本。)

1 个答案:

答案 0 :(得分:0)

我认为没有脚本就可以做到这一点。至少不是我所知道的(这并不一定意味着什么)。

如果你想编写脚本,这里是一个简单的.vbs脚本,它在运行rasdial命令之前等待:

WScript.Sleep 5000
Set objShell = "WScript.CreateObject("WScript.Shell")
objShell.Run """c:\windows\system32\rasdial.exe"" <vpn connection> <username> <password>", 1, True
Set objShell = Nothing

然后只需从任务计划程序运行此脚本文件而不是rasdial.exe命令。