diff --git a/scripts/auto_repairs.py b/scripts/auto_repairs.py index 0428fa48..37684f91 100644 --- a/scripts/auto_repairs.py +++ b/scripts/auto_repairs.py @@ -61,14 +61,14 @@ BASE_MENUS = { MenuEntry('Reset Windows Policies', 'auto_reset_windows_policies'), ), 'Malware Cleanup': ( - MenuEntry('Disable Defender Scans', 'auto_open_defender_settings'), + MenuEntry('Disable Defender Scans', 'auto_disable_defender'), MenuEntry('BleachBit', 'auto_bleachbit'), MenuEntry('HitmanPro', 'auto_hitmanpro'), MenuEntry('KVRT', 'auto_kvrt'), MenuEntry('EmsisoftCmd', 'auto_emsisoft_cmd_run'), MenuEntry('Reboot', 'auto_reboot'), MenuEntry('EmsisoftCmd (Uninstall)', 'auto_emsisoft_cmd_uninstall'), - MenuEntry('Enable Defender Scans', 'auto_open_defender_settings'), + MenuEntry('Enable Defender Scans', 'auto_enable_defender'), MenuEntry('Windows Defender', 'auto_microsoft_defender'), MenuEntry('Remove Custom Power Plan', 'auto_remove_power_plan'), MenuEntry('Reboot', 'auto_reboot'), diff --git a/scripts/wk/repairs/win.py b/scripts/wk/repairs/win.py index 2abe8d80..d21eb75d 100644 --- a/scripts/wk/repairs/win.py +++ b/scripts/wk/repairs/win.py @@ -642,6 +642,28 @@ def auto_chkdsk(group, name): reboot() +def auto_disable_defender(group, name): + """Open Windows Defender Threat Settings.""" + result = TRY_PRINT.run( + 'Open Windows Defender settings...', + open_defender_settings, + disable=True, + msg_good='Done', + ) + save_settings(group, name, result=result) + + +def auto_enable_defender(group, name): + """Open Windows Defender Threat Settings.""" + result = TRY_PRINT.run( + 'Open Windows Defender settings...', + open_defender_settings, + enable=True, + msg_good='Done', + ) + save_settings(group, name, result=result) + + def auto_disable_pending_renames(group, name): """Disable pending renames.""" result = TRY_PRINT.run( @@ -758,16 +780,6 @@ def auto_microsoft_defender(group, name): save_settings(group, name, result=result) -def auto_open_defender_settings(group, name): - """Open Windows Defender Threat Settings.""" - result = TRY_PRINT.run( - 'Open Windows Defender settings...', - open_defender_settings, - msg_good='Done', - ) - save_settings(group, name, result=result) - - def auto_reboot(group, name): """Reboot the system.""" save_settings(group, name, done=True, failed=False, message='DONE') @@ -1423,13 +1435,15 @@ def kill_explorer(): run_program(cmd, check=False) -def open_defender_settings(): +def open_defender_settings(disable=False, enable=False): """Open Windows Defender Threat Settings.""" cmd = ['start', '', 'windowsdefender://threatsettings'] - message = ( - 'Please adjust Windows Defender settings as appropriate.\n' - 'Press OK to continue repairs.' - ) + message = 'Please adjust Windows Defender settings as appropriate.' + if disable: + message = 'Please disable realtime Windows Defender scanning.' + elif enable: + message = 'Please enable realtime Windows Defender scanning.' + message += '\nPress OK to continue repairs.' # Check Kill Explorer setting kill_explorer_proc = False