我有一个小的 dos bat 文件,我正在运行以使用 cwRsync 定期将一堆数据同步到 USB 驱动器,这样我就可以在更换部件到达时放心地迁移。我注意到 MsMpEng.exe 会降低传输速度,所以我希望在 rsync 之前关闭 MSE 的实时保护,然后立即重新打开。
有什么办法吗?终止任务,轻弹注册表中的某些内容然后将其删除或通过 Sc 命令?我注意到 MsMpEng.exe 没有这个功能,我明白这不是一件容易的事,因为如果以管理员身份运行恶意脚本也能做到这一点。
我已经以管理员身份运行 .bat 文件,所以这不是问题。脚本大致是这样的:
@ECHO OFF
SETLOCAL
SET CWRSYNCHOME="c:\Program Files (x86)\cwRsync"
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
rsync --delete -rvP /cygdrive/d/games /cygdrive/f/
REM --SNIP--
如果我能弄清楚这一点,我可能会更喜欢使用它而不是 Windows 备份。
您可以尝试
net stop nameofservice
,尽管这一次只能停止一项服务。如果 MSSE 有多个服务并且它们相互监督,您可能无法在幸存者再次启动早期受害者之前停止所有服务。
您甚至可能不需要关闭安全必需品。可以在异常程序列表中添加“rsync.exe”,MSE会快很多
我注意到当我将 rsync.exe 添加到异常列表时,rsync 正在传输时它使用了大量处理器,它下降到 0% 并且 rsync 将再次加速。
我想你正在寻找这个信息:
安全要素通常不允许从命令行禁用它们——充其量,您可以运行扫描或更新。
只是澄清一下,因为我对接受的答案所做的评论可能会在未来的访问者中丢失。
如果脚本以管理员身份运行,则非常简单:
sc stop MsMpSvc
taskkill /f /im msmpeng.exe
rsync --delete -rvP /cygdrive/d/games/steam /cygdrive/f/games
sc start MsMpSvc
如果您打开了其他 Security Essentials 窗口/任务,例如使用系统托盘中的图标,它可能会自动重启服务。因此,根据您的系统,您可能需要 taskkill 其他 exe。 Security Essentials 只有一项主要服务,因此启动它似乎可以恢复所有其他系统。
当然,在很多系统上,MSE 不会以任何明显的方式干扰,但我的硬件目前遇到严重问题,USB 驱动器的备份速度大大降低。鉴于此,在新系统上完全有可能不需要这些步骤。