You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从Linux环境为Windows Defender添加排除项?

如何从Linux环境为Windows Defender添加排除项?

嘿,我完全懂你现在的需求——想用Linux USB上的脚本批量给多台Windows机器添加Defender排除项,之前试了chntpw没找到对应的注册表键对吧?别着急,我给你几个可行的方案,都是能在Linux环境下搞定的:

方案一:修正路径用chntpw重新操作

你之前用chntpw没找到键,大概率是导航的注册表路径不对。Windows Defender的排除项其实存在这个位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions
下面分三个子键:Paths(排除路径)、Processes(排除进程)、Extensions(排除文件扩展名),你要找的应该是这里。

具体操作步骤:

  1. 先挂载Windows系统分区(一般是带Windows文件夹的那个NTFS分区):
    # 先用lsblk或fdisk -l确认分区,比如/dev/sdb2
    mount -t ntfs-3g -o rw /dev/sdb2 /mnt/win
    
  2. 启动chntpw的注册表编辑器:
    regedit /mnt/win/Windows/System32/config/Software
    
  3. 交互模式下导航到目标路径:
    输入 cd SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths 回车
  4. 添加排除项,比如要排除C:\MyApp\
    add "C:\\MyApp\\" REG_DWORD 1
    
    这里的1代表启用排除,0是禁用。完成后输入quit保存退出。

如果要脚本化,直接用非交互方式:

regedit /mnt/win/Windows/System32/config/Software <<EOF
cd SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths
add "C:\\MyApp\\" REG_DWORD 1
add "D:\\Data\\" REG_DWORD 1
quit
EOF

方案二:用libguestfs工具更便捷地脚本化

如果你觉得chntpw的交互方式不够顺手,可以试试libguestfs-tools这个工具集,它的virt-win-reg命令能直接离线修改Windows注册表,非常适合写脚本。

  1. 先安装工具(不同发行版命令略有不同):
    # Debian/Ubuntu系
    apt install libguestfs-tools
    # RHEL/CentOS系
    yum install libguestfs-tools
    
  2. 添加路径排除项的命令:
    virt-win-reg /dev/sdb2 'HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths' \
    --add-value "C:\\MyApp\\" --dword 1
    
  3. 如果要添加进程排除(比如myprocess.exe):
    virt-win-reg /dev/sdb2 'HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions\Processes' \
    --add-value "myprocess.exe" --dword 1
    

注意事项

  • 挂载分区一定要加rw参数,确保有写入权限;
  • Windows路径里的反斜杠要转义成\\,否则脚本会识别错误;
  • 修改后重启Windows机器,Defender才会加载新的排除规则;
  • 部分Windows版本可能需要禁用快速启动,否则注册表文件可能处于锁定状态无法修改。

如果操作中遇到权限问题或者找不到键的情况,告诉我具体的Windows版本和报错信息,我再帮你排查!

备注:内容来源于stack exchange,提问作者Linux Windows

火山引擎 最新活动