Don't open Defender settings if it's disabled.

This commit is contained in:
2Shirt 2022-10-26 18:35:51 -07:00
parent 0d93da4551
commit 78ef6b3e76
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C
2 changed files with 15 additions and 3 deletions

View file

@ -178,6 +178,14 @@ def check_4k_alignment(show_alert=False):
raise GenericError('One or more partitions are not 4K aligned')
def defender_is_disabled():
"""Check if Windows Defender is enabled, returns bool."""
reg_key = r'Software\Microsoft\Windows Defender'
disabled = reg_read_value('HKLM', reg_key, 'DisableAntiSpyware')
disabled = disabled or reg_read_value('HKLM', reg_key, 'DisableAntiVirus')
return bool(disabled)
def export_bitlocker_info():
"""Get Bitlocker info and save to the current directory."""
commands = [

View file

@ -52,6 +52,7 @@ from wk.log import (
from wk.os.win import (
ARCH,
OS_VERSION,
defender_is_disabled,
show_alert_box,
get_timezone,
set_timezone,
@ -1287,8 +1288,7 @@ def run_microsoft_defender(full=True):
# Get MS Defender status
## NOTE: disabled may be set to an int instead of bool
## This is fine because we're just checking if it's enabled.
disabled = bool(reg_read_value('HKLM', reg_key, 'DisableAntiSpyware'))
disabled = disabled or reg_read_value('HKLM', reg_key, 'DisableAntiVirus')
disabled = defender_is_disabled()
try:
passive_mode = reg_read_value('HKLM', reg_key, 'PassiveMode') == 2
except FileNotFoundError:
@ -1505,7 +1505,11 @@ def open_defender_settings(disable=False, enable=False):
"""Open Windows Defender Threat Settings."""
enabled = None
# Check if Defender is active
# Check Registry if Defender is disabled
if defender_is_disabled():
raise GenericError('Defender is disabled.')
# Check WMIC if Defender is active
cmd = [
'WMIC', r'/namespace:\\root\SecurityCenter2',
'path', 'AntivirusProduct',