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

如何使用Python脚本关闭/移除Windows Defender?

用Python脚本关闭/禁用Windows Defender的可行方案

首先明确:Windows Defender是Windows系统内置的核心安全组件,无法完全移除,只能通过禁用服务、关闭实时监控等方式让它停止运行。另外,所有操作必须以管理员权限运行Python脚本,否则会直接失败。

核心实现思路:用Python调用系统命令

你之前用的sc stop WinDefend其实可以通过Python的subprocess模块执行,并非只能在CMD里用。下面是完整的实现步骤和代码:


步骤1:检查管理员权限

脚本运行前先确认是否拥有管理员权限,没有的话直接提示退出:

步骤2:停止并禁用Defender相关服务

WinDefend服务依赖WdNisSvc服务,所以需要先停止依赖项,再停止主服务,最后设置为禁用(防止重启后自动启动)。

步骤3:关闭实时监控

仅停服务可能不够,还需要通过PowerShell命令或注册表关闭实时保护功能。


完整代码示例

import subprocess
import sys
import winreg

def run_system_cmd(cmd):
    try:
        result = subprocess.run(
            cmd,
            shell=True,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )
        print(f"执行成功:{result.stdout.strip()}")
    except subprocess.CalledProcessError as e:
        print(f"执行失败:{e.stderr.strip()}")
        sys.exit(1)

def check_admin():
    try:
        # 通过执行net session判断是否为管理员
        subprocess.run(["net", "session"], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    except subprocess.CalledProcessError:
        print("错误:请右键点击Python脚本,选择「以管理员身份运行」!")
        sys.exit(1)

def disable_defender_realtime_via_reg():
    try:
        # 修改注册表关闭实时监控(需管理员权限)
        reg_path = r"SOFTWARE\Microsoft\Windows Defender\Real-Time Protection"
        with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, reg_path, 0, winreg.KEY_WRITE) as reg_key:
            winreg.SetValueEx(reg_key, "DisableRealtimeMonitoring", 0, winreg.REG_DWORD, 1)
        print("已通过注册表关闭实时监控")
    except Exception as e:
        print(f"注册表修改失败:{str(e)}")

if __name__ == "__main__":
    # 先检查权限
    check_admin()

    # 停止并禁用依赖服务和主服务
    run_system_cmd("sc stop WdNisSvc")
    run_system_cmd("sc stop WinDefend")
    run_system_cmd("sc config WdNisSvc start= disabled")
    run_system_cmd("sc config WinDefend start= disabled")

    # 关闭实时监控(两种方式选其一即可)
    # 方式1:PowerShell命令
    run_system_cmd('powershell -Command "Set-MpPreference -DisableRealtimeMonitoring $true"')
    # 方式2:修改注册表(注释掉上面的PowerShell命令,打开下面这行)
    # disable_defender_realtime_via_reg()

    print("\n操作完成:Windows Defender已被禁用,重启后仍保持禁用状态")

注意事项

  1. 部分Windows版本(如Win11家庭版)可能无法通过上述方法完全禁用Defender,此时可能需要修改组策略,但组策略仅在专业版/企业版中可用。
  2. 修改注册表有风险,操作前建议备份注册表。
  3. 禁用Defender后系统安全性会下降,旧电脑如果没有其他杀毒软件,需谨慎操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:05:34