MCPcopy Create free account
hub / github.com/WavesMan/Disable-automatic-Windows-update / DefenderService

Class DefenderService

python/core/services.py:95–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93
94
95class DefenderService:
96 # NOTE: 统一管理防护软件策略位,避免 UI 直接操作敏感键
97
98 def __init__(self, registry: RegistryAdapter) -> None:
99 self.registry = registry
100
101 def disable(self) -> Result:
102 start = time.perf_counter()
103 log_event(logging.INFO, "defender_disable_started", "开始禁用 Defender", action="disable_defender", status="started")
104 ok, msg = self.registry.add_dword(DEFENDER, "DisableAntiSpyware", 1)
105 duration_ms = int((time.perf_counter() - start) * 1000)
106 if ok:
107 log_event(logging.INFO, "defender_disable_finished", "禁用 Defender 成功", action="disable_defender", status="ok", duration_ms=duration_ms)
108 return Result(True, data={"status": "disabled"})
109 log_event(
110 logging.ERROR,
111 "defender_disable_finished",
112 f"禁用 Defender 失败: {msg}",
113 action="disable_defender",
114 status="failed",
115 duration_ms=duration_ms,
116 error_type="REGISTRY_WRITE_FAILED",
117 error_message=msg,
118 )
119 return Result(False, error={"code": "REGISTRY_WRITE_FAILED", "message": msg})
120
121 def enable(self) -> Result:
122 start = time.perf_counter()
123 log_event(logging.INFO, "defender_enable_started", "开始启用 Defender", action="enable_defender", status="started")
124 ok, msg = self.registry.add_dword(DEFENDER, "DisableAntiSpyware", 0)
125 duration_ms = int((time.perf_counter() - start) * 1000)
126 if ok:
127 log_event(logging.INFO, "defender_enable_finished", "启用 Defender 成功", action="enable_defender", status="ok", duration_ms=duration_ms)
128 return Result(True, data={"status": "enabled"})
129 log_event(
130 logging.ERROR,
131 "defender_enable_finished",
132 f"启用 Defender 失败: {msg}",
133 action="enable_defender",
134 status="failed",
135 duration_ms=duration_ms,
136 error_type="REGISTRY_WRITE_FAILED",
137 error_message=msg,
138 )
139 return Result(False, error={"code": "REGISTRY_WRITE_FAILED", "message": msg})
140
141
142class OneDriveService:

Callers 1

make_servicesFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected