tasklist 能做什么
tasklist 是 Windows 最通用的进程清单工具:默认给出进程名与 PID,加 -v 显示窗口标题与状态,加 -svc 关联服务名,/fo csv 便于导入表格排序。它的短板是默认不显示命令行与父进程。
补齐进程画像
要拿到完整画像(命令行、父进程、可执行路径)需要配合 Get-CimInstance Win32_Process;wmic 在新版本 Windows 已弃用,现场应优先用 CIM。tasklist 负责快速清点与筛选,CIM 负责给出细节。
基本信息
| 基础用法 | tasklist /v /svc /fo table |
|---|---|
| 机器可读 | /fo csv 便于排序与留档 |
| 筛选 | /fi "pid eq 1234"、/fi "imagename eq x.exe" |
| 模块 | /m 列出进程加载的模块 |
| 补充命令 | Get-CimInstance Win32_Process 提供 CommandLine 与 ParentProcessId |
| 权限要求 | 列出进程普通用户可行,查看全部用户进程详情需管理员 |
典型使用场景
- 快速清点进程并导出 CSV 留档
- 按 PID 或进程名筛选定位可疑进程
- 确认进程与服务的关联关系
- 核对某进程加载了哪些模块
- 与 4688 事件对照确认创建时间
常用组合
常用组合
tasklist /v /fo csv | ConvertFrom-Csv | Sort-Object -Property 'CPU Time' -Descending | Select-Object -First 20
tasklist /fi "pid eq 1234"
tasklist /svc | findstr /i "svchost"
Get-CimInstance Win32_Process -Filter "ProcessId=1234" | Select-Object Name,ExecutablePath,CommandLine,ParentProcessId | Format-List
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'temp|AppData' } | Select-Object ProcessId,Name,CommandLine输出逐列读法
| 列 | 含义 | 正常/异常 |
|---|---|---|
| Image Name / Name | 进程名 | 名称合法不代表来源合法,需看路径与命令行 |
| PID | 进程号 | 可与 Get-NetTCPConnection 的 OwningProcess 关联 |
| Session Name / User | 会话与所属用户 | 服务进程出现在交互式会话中需核实 |
| Mem Usage / CPU Time | 资源占用 | 明显突增可能是挖矿或加密行为 |
tasklist 默认不显示命令行:只看进程名容易误判,需要 CommandLine 时用 Get-CimInstance Win32_Process 补上,或结合 4688 事件查看。
32 位工具读取 64 位系统信息时字段可能被截断或缺失:在 64 位系统上用 64 位 PowerShell 执行,避免得到不完整的进程清单。
导出留档并定位可疑项
导出留档并定位可疑项
New-Item -ItemType Directory -Force C:\evidence | Out-Null
tasklist /v /fo csv > C:\evidence\tasklist_v.csv
tasklist /svc /fo csv > C:\evidence\tasklist_svc.csv
Get-FileHash C:\evidence\tasklist_v.csv -Algorithm SHA256 | Format-List
Get-CimInstance Win32_Process | Where-Object { $_.ExecutablePath -match 'Temp|AppData|ProgramData' } | Select-Object ProcessId,Name,ExecutablePath与连接和事件对照
- 用端口反查所属 PID,再回到 tasklist 确认进程身份
- 用服务列表确认该 PID 是否承载系统服务
- 用 4688 事件确认进程创建时间与父进程
- 用签名与哈希确认可执行文件来源是否可信
优先关注的进程
- 可执行文件位于临时目录或用户目录下的进程
- 无数字签名或签名异常的进程
- 父进程为办公软件、浏览器或 Web 服务的解释器进程
- 名称与系统进程相似但路径不同的进程