windows defender将python脚本等文件误隔离后,可通过安全中心界面、管理员powershell或mpcmdrun.exe三种方式还原:界面操作最直观;powershell支持交互查id或模糊匹配批量还原;mpcmdrun.exe最底层轻量,适合受限环境。

Windows 11中刚下载的Python脚本、Keil安装包或自制.bat工具突然消失,不是你删的,而是Windows Defender自动判定为潜在威胁并移入隔离区——它没删除,只是锁进了一个带权限控制的保险柜,现在你要做的就是打开柜门把东西拿回来。
通过Windows安全中心图形界面还原
这是最直观、最稳妥的方式,所有操作都在可视化界面完成,适合第一次操作的新手,也适用于需要确认文件原始路径和隔离时间的场景。
第一步:按下 Win + S,在搜索框输入“Windows 安全中心”,点击打开应用。
第二步:左侧导航栏中,点击“病毒和威胁防护”。
第三步:向下滚动到“当前威胁”区域,点击右侧的“保护历史记录”→“查看完整历史记录”。
第四步:在历史记录页面顶部,点击“筛选器”下拉菜单,必须选择“已隔离”(选错成“已阻止”或“已删除”将看不到目标文件);列表立即刷新,显示全部被隔离项。
第五步:找到目标文件(可按“检测时间”倒序排列快速定位最新条目),勾选其左侧复选框,点击上方“还原”按钮;系统弹出确认窗口,点击“是”执行还原。【还原后文件将严格返回原始路径,若该路径已被手动删除(如整个文件夹被清空),还原会失败并报错】
用管理员PowerShell强制还原
当安全中心界面卡死、隔离列表空白、或需批量还原多个文件时,PowerShell能绕过UI直接读取Defender底层威胁数据库,响应更快、更底层。
方法一:交互式查ID再还原
右键“开始”按钮 → 选择“Windows PowerShell(管理员)” → 输入以下命令并回车:Get-MpThreatDetection | Where-Object {$_.ThreatStatus -eq 'Isolated'} | Format-List DetectionTime, FileName, Path, ThreatID
从输出中识别目标文件的ThreatID(一长串含字母数字的字符串),然后执行:Restore-MpThreat -ThreatID "复制粘贴此处ThreatID"
方法二:按文件名模糊匹配还原(适合只记得部分名称)
在同个管理员PowerShell窗口中,直接运行:Get-MpThreatDetection | Where-Object {$_.ThreatStatus -eq 'Isolated' -and $_.FileName -like "*python*"} | Restore-MpThreat
把*python*替换成你记得的关键字,比如*keil*、*setup*或*patch*,支持通配符匹配。
用MpCmdRun.exe命令行工具精准还原
这是最底层、最轻量的还原方式,不依赖PowerShell模块加载,适合系统环境受限或PowerShell被策略禁用的情况。
第一步:以管理员身份运行命令提示符(CMD)或PowerShell。
第二步:执行以下命令(注意引号必须是英文双引号,且文件名要写全,包括扩展名):"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -Restore -Name "setup.exe"
第三步:若不确定完整文件名,可先列出所有隔离项:"%ProgramFiles%\Windows Defender\MpCmdRun.exe" -GetFiles
输出结果中会包含每个隔离文件的完整路径与名称,复制你需要的那一行中的文件名,再代入第二步命令还原。











