From 86f81f27205766c73d9095cdcc7913d7711fe1d8 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sat, 16 Mar 2019 15:11:42 -0600 Subject: [PATCH 1/3] Prevent updating OVERRIDE to CS --- .bin/Scripts/functions/hw_diags.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bin/Scripts/functions/hw_diags.py b/.bin/Scripts/functions/hw_diags.py index 1fd77af4..a5fc5e5d 100644 --- a/.bin/Scripts/functions/hw_diags.py +++ b/.bin/Scripts/functions/hw_diags.py @@ -1460,7 +1460,7 @@ def run_nvme_smart_tests(state, test, update_mode=False): test.failed = True test.update_status('NS') elif dev.smart_attributes: - if dev.disk_ok and dev.self_test_passed: + if dev.disk_ok and dev.self_test_passed and 'OVERRIDE' not in test.status: test.passed = True test.update_status('CS') elif test.aborted: From c5b444613302d0ce6c0939ea51f2e29d2b4ae119 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sat, 16 Mar 2019 18:11:19 -0600 Subject: [PATCH 2/3] Configure Windows Updates during checklist/setup * Sets readiness branch to non-targeted semi-annual * Defers feature upgrades for 60 days * Fixes issue #93 --- .bin/Scripts/functions/setup.py | 5 +++++ .bin/Scripts/new_system_setup.py | 2 ++ .bin/Scripts/settings/setup.py | 11 +++++++++++ .bin/Scripts/system_checklist.py | 2 ++ 4 files changed, 20 insertions(+) diff --git a/.bin/Scripts/functions/setup.py b/.bin/Scripts/functions/setup.py index 0ebae0c4..75ea45f1 100644 --- a/.bin/Scripts/functions/setup.py +++ b/.bin/Scripts/functions/setup.py @@ -67,6 +67,11 @@ def config_explorer_user(): write_registry_settings(SETTINGS_EXPLORER_USER, all_users=False) +def config_windows_updates(): + """Configure Windows updates.""" + write_registry_settings(SETTINGS_WINDOWS_UPDATES, all_users=True) + + def disable_windows_telemetry(): """Disable Windows 10 telemetry settings with O&O ShutUp10.""" extract_item('ShutUp10', silent=True) diff --git a/.bin/Scripts/new_system_setup.py b/.bin/Scripts/new_system_setup.py index 6ab88973..3b599130 100644 --- a/.bin/Scripts/new_system_setup.py +++ b/.bin/Scripts/new_system_setup.py @@ -103,6 +103,8 @@ if __name__ == '__main__': function=config_explorer_system, cs='Done') try_and_print(message='Disabling telemetry...', function=disable_windows_telemetry, cs='Done') + try_and_print(message='Windows Updates...', + function=config_windows_updates, cs='Done') try_and_print(message='Updating Clock...', function=update_clock, cs='Done') diff --git a/.bin/Scripts/settings/setup.py b/.bin/Scripts/settings/setup.py index 8d7a0682..bd87eb4a 100644 --- a/.bin/Scripts/settings/setup.py +++ b/.bin/Scripts/settings/setup.py @@ -137,6 +137,17 @@ VCR_REDISTS = [ '/passive', '/norestart']}, ] +# Windows Updates +SETTINGS_WINDOWS_UPDATES = { + r'Software\Microsoft\WindowsUpdate\UX\Settings': { + 'DWORD Items': { + # Set to non-targeted readiness level + 'BranchReadinessLevel': 32, + 'DeferFeatureUpdatesPeriodInDays': 60, + }, + } + } + if __name__ == '__main__': print("This file is not meant to be called directly.") diff --git a/.bin/Scripts/system_checklist.py b/.bin/Scripts/system_checklist.py index 5900ef00..84c2c673 100644 --- a/.bin/Scripts/system_checklist.py +++ b/.bin/Scripts/system_checklist.py @@ -43,6 +43,8 @@ if __name__ == '__main__': if global_vars['OS']['Version'] == '10': try_and_print(message='Explorer...', function=config_explorer_system, cs='Done') + try_and_print(message='Windows Updates...', + function=config_windows_updates, cs='Done') try_and_print(message='Updating Clock...', function=update_clock, cs='Done') From f9b35b9a3d924a87202b9060481d5c2cb5fe75c8 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sat, 16 Mar 2019 18:14:31 -0600 Subject: [PATCH 3/3] Fixed dict collision * Fixes issue #97 --- .bin/Scripts/settings/setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.bin/Scripts/settings/setup.py b/.bin/Scripts/settings/setup.py index bd87eb4a..73b6f59b 100644 --- a/.bin/Scripts/settings/setup.py +++ b/.bin/Scripts/settings/setup.py @@ -71,7 +71,8 @@ SETTINGS_EXPLORER_SYSTEM = { 'Status': {'Value': 0}, }, # Disable Telemetry - r'Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection': { + r'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection': { + # Using SOFTWARE in all caps to avoid collision with 32-bit setting below 'DWORD Items': {'AllowTelemetry': 0}, }, r'Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection': {