任务计划:在指定程序运行后触发任务
新建任务计划时有个触发器叫做「发生事件时」,可以运用这个触发器来实现一些更灵活的动作。这里主要记录如何实现「在某个程序启动后执行任务」,需要注意 整个过程都需要在管理员权限下进行。
审核进程跟踪
这是一个前置条件,需要启用后才能让「发生事件时」触发器有效。具体步骤如下:
运行 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的记事本。