You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建远程删除多台Windows机器mrt.exe的包?脚本报错求助

解决远程删除mrt.exe时“路径未找到”的问题

问题原因

  • 32位进程的文件系统重定向:当32位程序访问C:\Windows\System32时,Windows会自动将请求重定向到C:\Windows\SysWOW64(存放32位系统文件的目录),而mrt.exe实际在64位的System32目录下,导致脚本找不到目标文件。
  • 从日志中的执行路径C:\Program Files (x86)\Tanium\...可以确认,Tanium客户端以32位进程运行,因此它启动的PowerShell也是32位环境。

解决方案

方案1:使用SysNative路径访问64位System32

修改脚本,用C:\Windows\SysNative替代C:\Windows\System32,这个路径是32位进程专门用来访问64位系统文件目录的入口:

Remove-Item "C:\Windows\SysNative\mrt.exe" -Force

方案2:强制启动64位PowerShell

修改执行命令,直接指定64位PowerShell的路径,绕过32位环境的重定向:

cmd /c "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NonInteractive -NoProfile -File .\MRT_removal.ps1"

方案3:在脚本内禁用文件系统重定向

通过PowerShell调用Windows API临时禁用重定向,执行删除操作后再恢复:

# 禁用32位进程的文件系统重定向
$win32Assembly = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Win32")
$redirectState = $win32Assembly.GetType("Microsoft.Win32.Win32Native")::Wow64DisableWow64FsRedirection()

# 执行删除操作
Remove-Item "C:\Windows\System32\mrt.exe" -Force

# 恢复文件系统重定向
$win32Assembly.GetType("Microsoft.Win32.Win32Native")::Wow64RevertWow64FsRedirection($redirectState)

注意事项

  • 确保执行脚本的账号拥有管理员权限,否则即使路径正确,也会因权限不足无法删除System32目录下的文件。
  • mrt.exe是Windows官方的恶意软件删除工具组件,删除前需确认业务场景允许此操作,避免影响系统安全防护能力。

内容的提问来源于stack exchange,提问作者kbhardwaj90

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:16:15