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] 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')