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

Luc*_*ter 20 windows-7 wireless-networking scheduled-tasks

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

加入无线网络时有没有办法运行程序或脚本?

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

小智 17

我有这个确切的问题,达伦的回答是正确的,但并没有让我一直在那里。这就是我最终做的。

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

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

这是屏幕截图

在弹出的窗口中,为您的任务命名一些巧妙的名称并添加描述,以便您稍后记住它是什么。通过向导,选择要运行的程序等,当它到达最后一个屏幕时,选中“单击完成时打开此任务的属性对话框”框。

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

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

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

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

<EventData>
  ...
  <Data Name="SSID">Your WiFi Network</Data>
  ...
</EventData>
Run Code Online (Sandbox Code Playgroud)

返回 New Event Filter 对话框,切换到 XML 选项卡并选中“手动编辑查询”旁边的框。

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

and *[EventData[Data[@Name='SSID']='Your WiFi Network']]
Run Code Online (Sandbox Code Playgroud)

将其粘贴在 </Select>

繁荣。你完成了。


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


Dar*_*all 7

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

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

我不在笔记本电脑上运行 Windows 7,但我相信可以在Microsoft-Windows-WLAN-AutoConfig 中找到事件 ID

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

然后调用 Actions 下的程序。