如何在 Windows 7 中连接到特定网络时运行程序

如何在 Windows 7 中连接到特定网络时运行程序

我希望每次连接到家里的无线网络时都运行一个可执行文件。目的是将笔记本电脑上的文件夹与台式机同步。

当您加入无线网络时,有什么方法可以运行程序或脚本吗?

我正在运行 Windows 7,并且我也很乐意使用可以处理此类任务的程序。

答案1

我也有同样的问题,Darren 的回答是正确的,但没有让我完全明白。以下是我最终做的事情。

首先确定要使用哪个事件来触发任务。运行事件查看器程序并导航到: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

就我而言,我不希望我的任务在实际连接到特定 WiFi 网络之前运行,因此我需要的事件 ID 是8001。基于此事件创建任务的快捷方式是右键单击该事件并选择“将任务附加到此事件...”

这是截图

在弹出的窗口中,为您的任务起一个巧妙的名字并添加描述,以便您以后能记住它。按照向导操作,选择要运行的程序等,当到达最后一个屏幕时,选中“单击完成时打开此任务的属性对话框”复选框。

此时,当计算机成功连接到任何无线网络。要将其限制为一个特定网络,您必须修改任务以过滤元数据中唯一的内容,例如网络的 SSID。在新任务的属性对话框中,转到“触发器”选项卡并编辑触发器。

现在,记下基本触发器的值。您将切换到自定义触发器,当您这样做时,它将开始为空白,您需要再次填写值。单击“新事件过滤器...”后,通过选择必要的事件日志、事件源并输入事件 ID 来重新创建基本过滤器。

请注意,没有地方可以指定特定事件的元数据(例如无线网络的 SSID)。您需要编辑原始 XML 才能实现这一点,正如我在本文

要确定需要在事件日志中过滤哪些元数据,请返回事件查看器并单击事件的“详细信息”选项卡。切换到 XML 视图。对于这种特殊情况,相关部分如下所示:

<EventData>
  ...
  <Data Name="SSID">Your WiFi Network</Data>
  ...
</EventData>

返回“新事件过滤器”对话框,切换到“XML”选项卡并选中“手动编辑查询”旁边的复选框。

回顾上面链接的文章,您会看到需要添加的字符串如下所示:

and *[EventData[Data[@Name='SSID']='Your WiFi Network']]

将其粘贴在</Select>

轰隆隆,大功告成。


需要注意的是,这可能使这更容易,而不是编辑触发器的 XML,您可以在调出任务的属性时切换到“条件”选项卡。这里有一个选项“仅在以下网络连接可用时启动:”,并提供您之前连接到的网络的下拉列表。我怀疑这也会适当地过滤触发器。贾斯汀

答案2

您可以为此使用 Windows 7 任务计划程序。

在“触发器”选项卡下,开始任务On an event

我没有在笔记本电脑上运行 Windows 7,但我相信事件 ID 可以在Microsoft-Windows-WLAN-自动配置。

在“条件”选项卡下Start Only if the following network connection is available,指定您想要的无线网络。

然后调用Actions下的程序。

相关内容