【问题标题】:Windows 7: Scheduling automatic VPN connection with WLAN connectionWindows 7:使用 WLAN 连接计划自动 VPN 连接
【发布时间】:2015-08-26 11:43:17
【问题描述】:

似乎没有任何简单的方法可以告诉 Windows 7 网络连接应该始终使用 VPN 连接(就像在 Linux 中一样),所以我一直在使用 Task Scheduler 来执行此操作.

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

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

触发器: 在事件上 -> 日志:系统,来源:Power-Troubleshooter,事件 ID:1 关于事件 -> 日志:系统,来源:内核电源,事件 ID:42

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

动作:rasdial

这行得通。手动运行任务时,它会连接到 VPN。

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

所以,我需要将任务延迟几秒钟,直到建立 WLAN 连接。等待指定的秒数或更长时间 - 等待 WLAN 连接建立。

有什么方法可以做到这一点,而无需创建带有等待功能的脚本文件?任务可以设置为失败重试,但只有 1 分钟的间隔,这太长了。

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

【问题讨论】:

    标签: windows-7 scheduled-tasks


    【解决方案1】:

    我认为没有脚本就没有办法做到这一点。至少我不知道(这并不一定意味着很多)。

    如果你想编写脚本,这里有一个简单的 .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 命令。

    【讨论】:

    • 看起来很简单。如果没有更简单的方法,这将是解决方案。
    猜你喜欢
    • 2015-08-22
    • 2013-10-11
    • 2017-04-19
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多