任务计划:在指定程序运行后触发任务

新建任务计划时有个触发器叫做「发生事件时」,可以运用这个触发器来实现一些更灵活的动作。这里主要记录如何实现「在某个程序启动后执行任务」,需要注意 整个过程都需要在管理员权限下进行

审核进程跟踪

这是一个前置条件,需要启用后才能让「发生事件时」触发器有效。具体步骤如下:

运行 secpol.msc,在打开的本地安全策略中依次展开 本地策略>审核策略,双击打开右侧的 审核进程跟踪,勾选「审核这些操作」下方的「成功」,然后确定关闭窗口。

接下来去事件查看器中检查有没有生效。具体步骤如下:

打开事件查看器,定位到 Windows日志>安全,然后随意打开一个程序再关闭,再刷新一下事件页面。如果看到有 事件记录(4688),则表示前面的设置已经生效,并且这就是程序运行的事件。

设置事件触发器

在任务计划程序中设置触发器时,使用「发生事件时」触发,然后勾选自定义>新建事件筛选器,切换至 XML 标签页,勾选「手动编辑查询」,粘贴下面内容:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[band(Keywords,9007199254740992) and
      (EventID=4688)]] and
      *[EventData[Data[@Name='NewProcessName'] and
      (Data='C:\Program Files\WindowsApps\Microsoft.WindowsNotepad_11.2510.14.0_x64__8wekyb3d8bbwe\Notepad\Notepad.exe')]]
      </Select>
  </Query>
</QueryList>

需要注意,只需要且只应该修改 Data='' 中的路径为实际需要跟踪的程序路径,其他的不要动。这个例子中的程序是Win11的记事本。

Comments