性能监视器可原生创建计数器警报并绑定脚本,当CPU≥95%、磁盘或内存超阈值时自动执行清理、发信等操作;需手动配置采样间隔、阈值、PowerShell执行策略及任务计划器提权。

用性能监视器创建计数器警报并绑定脚本
当CPU持续超载、磁盘空间跌破阈值或内存长期紧张时,Windows原生性能监视器能直接触发脚本执行清理、发信或重启服务等动作,无需安装第三方软件。整个流程在图形界面中完成,但关键参数必须手动校准,否则警报永远不会触发。
按 Win + R 输入 perfmon → 回车,打开性能监视器主界面。
左侧导航栏展开“性能监视器”→“数据收集器集”→“用户定义”,右键 → “新建数据收集器集”。
输入名称(如“CPU_95_Alert”),选择“手动创建(高级)”→ 下一步 → 勾选“性能计数器警报” → 下一步。
点击“添加”按钮,在弹出窗口中配置监控目标:选择性能对象为Processor,计数器为% Processor Time,实例选_Total;再点“添加”,然后在下方“选定对象的实例”里确认已出现 \_Total → 点击“确定”。
回到“警报”设置页,在“限制”框中填入数值——【这里填95代表95%,不是0.95】;“采样间隔”设为10秒(太短易误报,太长会漏掉瞬时峰值);勾选“启用此警报” → 点击“下一步”。
为警报配置运行脚本的操作
进入“操作”选项卡,这是整个流程中最容易被跳过的致命环节:默认所有操作都未启用,必须手动勾选才能生效。
勾选“运行此程序”,在路径框中输入你的脚本完整路径,例如:C:Scriptscpu_alert.ps1;注意不能直接写 .bat,PowerShell脚本更稳定且支持管理员权限提升。
点击“命令行参数”右侧的复选框,填入 -ExecutionPolicy Bypass -File,这是绕过PowerShell默认执行策略的必要参数,否则脚本会被静默拦截。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
若脚本需管理员权限才可执行(如重启服务、清空临时文件),必须额外配置任务计划器代理——此时不要点“完成”,先点“取消”,后续用任务计划器补全提权逻辑。
用任务计划器补全提权与兼容性
回到桌面,搜索并打开“任务计划器”,左侧树形菜单依次展开“任务计划程序库”→ 右键 → “创建基本任务”。
任务名称填“Run_CPU_Alert_Script”,描述可空着,触发器选“当特定事件被记录时”,日志选“应用程序”,来源选“System”,事件ID留空,但点击“编辑事件过滤器”→ 切换到“XML”选项卡 → 勾选“编辑查询手动”,粘贴以下内容:
操作选“启动程序”,程序填 powershell.exe,参数填 -ExecutionPolicy Bypass -File "C:Scriptscpu_alert.ps1",起始于填脚本所在目录,如 C:Scripts。
在“常规”选项卡中,务必勾选“使用最高权限运行”和“不管用户是否登录都要运行”,否则脚本在锁屏或无人值守时不会执行。
完成向导后,回到性能监视器中刚才创建的警报,右键 → “属性” → “操作”选项卡 → 删除原先配置的“运行此程序”项,只保留“将任务写入应用程序日志”作为后备记录——因为真正执行动作的,现在是任务计划器里的那个高权限任务。










