Defender 命令行扫描是什么
Windows Defender 自带命令行工具 MpCmdRun.exe,位于 ProgramData 下带版本号的 Platform 目录里,所以要先定位可执行文件而不是写死路径。它支持更新签名、快速扫描、全盘扫描与指定路径扫描,适合应急时脚本化执行,也方便通过远程会话批量下发。
基本信息
| 工具位置 | C:\ProgramData\Microsoft\Windows Defender\Platform\<版本>\MpCmdRun.exe |
|---|---|
| 更新签名 | -SignatureUpdate |
| 扫描类型 | 1 快速、2 全盘、3 自定义 |
| 自定义路径 | -Scan -ScanType 3 -File C:\suspect |
| 远程执行 | 可通过 WinRM、PsExec 等下发 |
| 前提 | Defender 服务与策略未被攻击者禁用 |
典型使用场景
- 应急初筛:先快速扫描,再决定是否需要全盘
- 只怀疑特定目录(Web 根目录、上传目录)时做定向扫描
- 通过远程会话对多台主机下发扫描任务
- 清除完成后复扫,验证处置效果
- 与自研或第三方 EDR 结果交叉,避免单一引擎漏检
- 观察期内定期扫描,确认没有复发
- 梳理资产时批量采集各主机的防护状态与签名版本
定位工具并扫描
定位工具并扫描
$mp = Get-ChildItem 'C:\ProgramData\Microsoft\Windows Defender\Platform\*\MpCmdRun.exe' | Sort-Object FullName -Descending | Select-Object -First 1
& $mp.FullName -SignatureUpdate # 先更新签名库
& $mp.FullName -Scan -ScanType 1 # 快速扫描
& $mp.FullName -Scan -ScanType 3 -File C:\suspect # 只扫指定目录
& $mp.FullName -Scan -ScanType 2 # 全盘扫描(耗时最长)
Get-MpComputerStatus | Select-Object AntivirusEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated扫描类型与参数
| 类型/项 | 参数 | 适用场景 |
|---|---|---|
| 快速扫描 | 1 | 常见高危位置,几分钟出结果 |
| 全盘扫描 | 2 | 覆盖所有文件,耗时数小时 |
| 自定义扫描 | 3 配 -File | 定向排查某个目录 |
| 签名更新 | -SignatureUpdate | 扫描前必做,否则新样本扫不出 |
| 防护状态 | Get-MpComputerStatus | 确认实时防护与签名是否正常 |
先看 Get-MpComputerStatus:如果实时防护被关闭、签名日期停在很久以前,扫描结论的可信度要打折,而这种状态本身就是一条入侵痕迹。
全盘扫描很慢且持续占用磁盘:应急阶段先用快速或定向扫描,全盘放到观察期补做,避免拖慢正在恢复的业务。
命中结果会在 Defender 历史记录里留档:扫描完导出检测列表(Get-MpThreatDetection)比截图更可靠,也是后续整理 IoC 与写报告的原始材料。