当前位置: 首页 > news >正文

Process Monitor 学习笔记(5.9):Procmon 的自动化操作——命令行选项

Process Monitor 学习笔记(5.9):Procmon 的自动化操作——命令行选项

  • Process Monitor 学习笔记(5.9):Procmon 的自动化操作——命令行选项
    • 1)什么时候用命令行而不是 GUI?
    • 2)常用命令行开关总览
    • 3)经典脚本模板
      • A. 60 秒无人值守采集(CMD)
      • B. 轮转切片采集(PowerShell,连抓 5 片,每片 2 分钟)
      • C. 离线转换(PML → CSV)
      • D. 一次到位:载入模板 + 写盘 + 立刻隐藏
    • 4)和“配置模板”配合的要点
    • 5)权限、体积与稳定性
    • 6)常见组合与故障排查
    • 7)团队落地清单
    • 结语

Process Monitor 学习笔记(5.9):Procmon 的自动化操作——命令行选项

目标:把日常“点点点”的抓取流程,升级为一条命令就能跑的无人值守方案,用在值守排障、定时采集、远程协助、CI 机器上。


1)什么时候用命令行而不是 GUI?

  • 无人值守:服务器/用户电脑上自动抓 2–10 分钟日志后自停并打包。
  • 现场复现窗口极短:一键脚本就位,避免 GUI 慢半拍。
  • 统一口径:所有同事按同一模板抓取,保证可比性。
  • 长时间运行:结合轮转/切片策略,控制文件体积。

2)常用命令行开关总览

不同版本的 Procmon 细节可能略有差异,以下为实操中最常用、最稳定的一组。

开关作用示例
/AcceptEula首次运行自动接受 EULA,避免交互弹窗procmon.exe /AcceptEula
/Quiet静默启动,不弹过滤器对话框、错误提示最小化procmon.exe /Quiet
/Minimized最小化到任务栏启动procmon.exe /Minimized
/LoadConfig <pmc>载入事先导出的配置模板(过滤、高亮、列、选项)procmon.exe /LoadConfig D:\pm\Team.pmc
/BackingFile <pml>直接把采集写入 PML 文件(环形缓冲区由配置决定)procmon.exe /BackingFile D:\logs\a.pml
/OpenLog <pml>以 GUI 打开某个 PMLprocmon.exe /OpenLog D:\logs\a.pml
/SaveAs <目标>当前打开的日志导出为 PML/CSV/XML(按扩展名决定)procmon.exe /OpenLog a.pml /SaveAs a.csv
/Terminate已运行的 Procmon 发出“停止并退出”指令procmon.exe /Terminate

小贴士

  • 过滤/高亮等请放到 .pmc 模板里(上一节 5.8 已讲)。
  • 是否“丢弃被过滤事件(Drop Filtered Events)”、是否开启 Call Stacks 也由模板决定。

3)经典脚本模板

A. 60 秒无人值守采集(CMD)

@echo off
set "PM=C:\Tools\Sysinternals\procmon.exe"
set "CFG=D:\Procmon\Team-Default.pmc"
set "OUT=D:\ProcmonLogs\pm_%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%%time:~3,2%.pml""%PM%" /AcceptEula /Quiet /Minimized ^/LoadConfig "%CFG%" ^/BackingFile "%OUT%"rem — 采集 60 秒 —
timeout /t 60 /nobreak >nulrem — 停止并退出 —
"%PM%" /Terminateecho Log saved: %OUT%

适用:远程让用户双击即可;不需要 GUI 操作,采完自动停。


B. 轮转切片采集(PowerShell,连抓 5 片,每片 2 分钟)

$pm  = "C:\Tools\Sysinternals\procmon.exe"
$cfg = "D:\Procmon\Longrun.pmc"
$dir = "D:\ProcmonLogs"
New-Item -Force -ItemType Directory $dir | Out-Null1..5 | ForEach-Object {$ts = (Get-Date).ToString("yyyyMMdd_HHmmss")$pml = Join-Path $dir "pm_$ts.pml"& $pm /AcceptEula /Quiet /Minimized /LoadConfig $cfg /BackingFile $pmlStart-Sleep -Seconds 120& $pm /Terminate
}

适用:长时间追踪,但每片可控;崩溃/卡顿时更易定位时间段。


C. 离线转换(PML → CSV)

:: 把 a.pml 转成 a.csv,便于发给同事或导入 Excel/BI
procmon.exe /OpenLog D:\logs\a.pml /SaveAs D:\logs\a.csv

说明:/SaveAs 会根据扩展名导出为 CSV/XML/PML。CSV 适合快速筛选、统计。


D. 一次到位:载入模板 + 写盘 + 立刻隐藏

procmon.exe ^/AcceptEula /Quiet /Minimized ^/LoadConfig "D:\pm\Base.pmc" ^/BackingFile "D:\pm\capture_%RANDOM%.pml"

直接把 GUI“点点点”的动作变成一条命令


4)和“配置模板”配合的要点

  • 模板里统一设置:

    • 过滤器(只纳入目标进程/路径;排除浏览器缓存、杀软缓存、索引等噪点)
    • 高亮(错误码、长耗时)
    • 列视图(Time of Day | Process Name | PID | Operation | Path | Result | Detail
    • 性能开关(长跑模板开启 Drop Filtered Events;定位模板可开 Call Stacks
  • 命令行只负责加载模板落盘路径,思路更清晰。


5)权限、体积与稳定性

  • 权限:普通账户也能抓到大多数事件,但要看核心驱动是否能加载。建议以管理员启动脚本,尤其是需要 Boot Logging、驱动层细节时。
  • 体积:开启调用栈、关闭“Drop Filtered Events”都会显著增大 PML;长跑请使用“轮转切片”或在模板中启用丢弃策略。
  • 并发实例:新开一个实例会与已有实例交互;/Terminate发指令给已运行实例,而不是“强杀进程”,更安全。

6)常见组合与故障排查

  • 命令跑了但文件很小/空
    多半是模板里开启了 Drop Filtered Events,且你的过滤条件过严;或目标进程未在窗口内产生事件。放宽条件或延长采集时间。
  • EULA 卡住无人值守
    一定/AcceptEula,否则初次运行会弹窗阻塞。
  • 导出 CSV 失败
    确保已用 /OpenLog 打开某个 PML,再 /SaveAs;路径需可写。
  • 64 位系统
    默认使用 procmon.exe 即可;若目录中同时有 Procmon64.exe,保持一致路径调用,避免混淆。

7)团队落地清单

  • 产出 Base.pmc / Longrun.pmc / DeepStack.pmc 三类模板
  • 发布 “60 秒无人值守.cmd”“轮转切片.ps1” 两个脚本
  • 规范日志命名pm_{yyyyMMdd_HHmmss}.pml
  • 在 README 里标注模板是否开启调用栈/是否丢弃过滤事件
  • 服务器/办公机用计划任务调度(问题时刻快速复现)

结语

把 Procmon 命令行玩明白,你就能在最短窗口抓到最有价值的证据。
模板化 + 脚本化,是把“经验”转化为“能力”的关键一步。下一篇我们进入 5.10 分析工具:学会用内置统计与栈视图,快速缩小嫌疑面。

http://www.dtcms.com/a/491652.html

相关文章:

  • 荣耀手机Magic8系列都有哪些,分别通过硬件参数、性能参数、价格等方面进行详细对比
  • 合肥网站开发培训学校网站怎么做图片按按钮跳转
  • 西安专业做网站建设电子商务网站建设期中
  • 生态文明建设网站中城投建设集团网站
  • C++--- override 关键字 强制编译器验证当前函数是否重写基类的虚函数
  • LLM对话框项目技术栈重难点总结
  • 常州企业网站建设价格湛江宇锋网站建设
  • 网站开发实用吗搞钱路子一天两万
  • Ubuntu Server 系统安装图形界面远程工具(RDP)
  • 新版电脑微信4.1.x.x小程序逆向之——寻找小程序存放位置目录和__APP__.wxapkg
  • 我在高职教STM32(新05)——呼吸灯实验(基础版)
  • 丽泽桥网站建设wordpress分类列表去掉分类目录
  • 网站开发创业计划书模板宝安中心医院是什么级别
  • 华清远见25072班QT学习day2
  • 数据质量:Great Expectations检查点,校验失败怎样处理?
  • Ethernaut Level 12: Privacy - 存储布局分析
  • arkTs:鸿蒙开发中使用模型(Model)类封装数据与方法
  • Ethernaut Level 11: Elevator - 接口实现攻击
  • 恶意软件行为图像数据集
  • 如何找到网站管理员做房产应看的网站
  • Profibus DP转Modbus RTU工业PLC网关赋能新能源电站高效协同运行
  • 免费网站建设 源代码哪些网站是做设计的
  • 第8篇:Jackson与Spring Boot:实战整合技巧
  • 整套网站建设视频教程淮北建设工程交易中心
  • F027 neo4j知识图谱音乐推荐系统vue+flask+知识图谱可视化+协同过滤推荐算法
  • 仪器网站模板打包wordpress为app
  • Java SPI 完整加载流程详解-JAR 包到类实例化
  • MySQL Workbench:MySQL官方管理开发工具
  • 七宝网站建设行业seo网站优化方案
  • Unity 光照贴图异常修复笔记