如何在网络连接/断开连接上启动命令?


59

建立无线链接后,我有一个wifi连接,需要使用Web表单进行身份验证。我知道如何使用curl/ curlIE脚本自动进行身份验证。

但是,每次连接到特定的网络连接时,如何要求Windows调用脚本?

我也想在脚本的命令行上接收无线配置文件的名称或ESSID。


1
可能没用,但是我通过谷歌搜索发现了这一点。它显然枚举了您的连接,并且可能会为您提供一些可以用脚本查询的内容,以确定适配器何时连接/断开连接。msdn.microsoft.com/zh-CN/library/ms739931%28v=VS.85%29.aspx
CreeDorofl 2011年

我不想每隔几秒钟检查一次状态。网络位置意识通知很有趣,但是我发现仅通过脚本使用它并不容易。
支石墓

dolmen-有没有办法您也可以发布为身份验证编写的脚本。这个问题在其中会更加完善。
quest49 2012年

@ quest49我了解我的脚本可能会让您感兴趣,但这与问题无关。
2012年

您有没有得到满足您问题的答案?
Menasheh '16

Answers:


80

在Windows Vista和更高版本中,可以使用带有事件日志触发器的计划任务来执行此操作。第一个事件将通过连接到网络来触发,并且您将指定要运行它必须连接到的网络。与任何网络断开连接时,将触发第二个事件。每个事件将运行您指定的特定任务。可能是您提到的脚本编写的。

设置连接到网络时的事件:

  1. 打开任务计划程序。您可以通过Task Scheduler在开始菜单搜索框中输入或在下找到它Programs | Accessories | System Tools
  2. 在“任务计划程序”库中,通过单击Create Task右侧的“动作”面板来创建一个新任务。

    添加任务

  3. 为任务命名,例如“检测网络连接”或您选择的任何名称

  4. Triggers选项卡上,单击,然后从下拉框中New...选择On an Event

    下拉触发

  5. 选择以下设置:

    • 日志: Microsoft-Windows-NetworkProfile/Operational
    • 资源: NetworkProfile
    • 事件编号: 10000
  6. 单击确定,然后转到Conditions选项卡。
  7. 选中相应的框,Start only if the following network connection is available然后选择要用于运行脚本的网络
  8. Actions标签下,点击,然后New...选择Start a program。输入要运行的脚本文件的位置,然后单击确定OK
  9. 设置所需的其他任何任务设置,然后单击OK

为断开网络连接设置事件:

  1. 请执行上述步骤2-4
  2. 使用以下事件触发设置:
    • 日志: Microsoft-Windows-NetworkProfile/Operational
    • 资源: NetworkProfile
    • 事件编号: 10001
  3. 跳过步骤6-7,因为您将完全不再连接到任何网络。因此,无论何时断开任何网络连接,此事件都将运行。
  4. 再次执行步骤8-9

1
大!谢谢您的详细回答!这远远超出了我的预期。我发现甚至可以在网络连接名称上使用条件,因此我只能对特定的WLAN配置文件运行命令。
支石墓

您从哪里获得了步骤5中提供的值?可以通过事件日志中的反复试验来解决它们,但是我想知道是否有更好的方法来识别特定事件,例如通过一些文档。
2013年

1
@AdamMillerchip我刚刚打开事件查看器,断开/重新连接,然后环顾四周。
nhinkle

1
奇怪了,我想这并没有什么....
墨涅拉俄斯Bakopoulos

1
作为记录,我必须指定“源” Microsoft-Windows-NetworkProfile(W10 1709)
Joril,

11

Start only if the following network connection is availableWindows 10周年更新之后,似乎已损坏。请改用以下自定义触发器:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">
     *[System[(EventID=10000)]] and *[EventData[(Data[@Name="Name"]="YOUR-SSID-HERE")]]
    </Select>
  </Query>
</QueryList>

在公司网络中,请使用域名而不是SSID。在这种情况下,事件的类别将是“域已认证”,而不是“私有”。


Start only if the following network connection is available似乎确实坏了。如果设置该选项并按需运行任务,则会出现此错误:Task Scheduler Service is not available. Task scheduler will attempt to reconnect to it
Federico Destefanis

4

如果您碰巧正在使用Thinkpad,则可以利用适用于Windows 7,Vista和XP的ThinkVantage Access Connection。

ThinkVantage Access Connection是ThinkPad随附的网络连接管理器软件-如果没有,可从其支持站点下载。当您为位置创建新的配置文件时,会出现一个向导,询问您是否要配置连接该位置时要启动的程序列表。它也提供了在网络中断时杀死程序的功能。

请注意,可以将软件配置为完全不使用任何位置配置文件,而这可能是初始状态-在这种情况下,无法配置要在连接wifi时启动的程序列表:您必须创建一个连接配置文件以包含列表。

以我自己的经验,我尝试避免使用该软件-与没有连接相比,连接需要更多时间,并且有时在引导时无法建立新连接(可以通过手动重新连接来解决)。

该软件只能与ThinkPad随附的WIFI驱动程序一起使用。

附带一提,此软件可在用户登录之前建立连接,这是您创建配置文件时的一种选择。我不知道如果没有它是否可能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.