Windows 任务自动化
前言
Windows 上需要实现定时任务可以通过任务计划程序,但是如果需要在 Windows 上打开或是退出某个应用,可以自动地执行对应的脚本或是程序,也是很常见的一种自动化需求,实现的方案有很多,如何采用 AutoHotKey 脚本,通过 Windows 本身的功能实现,适合不折腾的人。
版本:Window10 专业版 21H1
Windows 自定义软件开启和关闭对应配置
书写执行脚本(.bat 或是 .exe)
以 .bat 为例子:脚本内头三行添加[1](静默执行不弹窗设置)
注意:显示 .vbs 不能执行的则需要在 PowerShell 管理员页面输入 sfc /scannow 修复Windows报错[2]
1 | if "%1"=="hide" goto CmdBegin |
开启windows的安全审计日志(开启只记录成功的日志选项)开启后不能关闭
Win + R 运行框内填写 secpol.msc

本地安全策略框内 双击审核策略 —> 右侧策略框 双击选中的审核进程跟踪服务 —> 本地安全设置选项卡 勾选成功 然后应用,确认即可

配置任务计划程序
1.在开机界面 Window10 底部搜索栏搜任务计划程序

2.新建计划及监听[3]

-
任务计划程序库右击选中新文件夹创建新文件New
-
选中New后,点击创建任务 跳出创建任务界面
- 常规选项卡下填入名称,描述;对于是否使用最高权限看脚本执行的权限
- 触发器选项卡 新建 —> 开始任务选发生事件时 , 勾选 激活(A)
- 选自定义,出来新建事情筛选器
- 切换到 XML 选项卡,勾选手动编辑查询;
- 填入事件筛选器查询xml,app 启动的exe 换成你需要启动或是关闭的,确认即可
- 选自定义,出来新建事情筛选器
- 操作选项卡 新建
- 操作默认的启动程序,程序或是脚本为.bat或是.exe所在路径
-
事件筛选器查询xml[4] – 应用程序退出时运行脚本或exe
1
2
3
4
5
6
7
8
9<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and
(band(Keywords,9007199254740992)) and (EventID=4689)]] and
*[EventData[(Data='你的程序exe文件路径')]]
</Select>
</Query>
</QueryList> -
事件筛选器查询xml[4:1] – 应用程序开启时运行脚本或exe
1
2
3
4
5
6
7
8
9
10<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[band(Keywords,9007199254740992) and
(EventID=4688)]] and
*[EventData[Data[@Name='NewProcessName'] and
(Data='你的程序exe文件路径')]]
</Select>
</Query>
</QueryList>