From 41b4a258f6dfc94f9cd813536332b3cf19c10024 Mon Sep 17 00:00:00 2001 From: 2Shirt <1923621+2Shirt@users.noreply.github.com> Date: Tue, 2 Oct 2018 23:53:46 -0600 Subject: [PATCH] Added System Checklist (HW) * Only applies a minimal amount of changes to the system * Fixes issue #13 --- .bin/Scripts/functions/setup.py | 10 +++ .bin/Scripts/settings/launchers.py | 6 ++ .bin/Scripts/system_checklist_hw.py | 107 ++++++++++++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 .bin/Scripts/system_checklist_hw.py diff --git a/.bin/Scripts/functions/setup.py b/.bin/Scripts/functions/setup.py index 6507f43e..dd546ed2 100644 --- a/.bin/Scripts/functions/setup.py +++ b/.bin/Scripts/functions/setup.py @@ -30,6 +30,12 @@ SETTINGS_CLASSIC_START = { }, }, } +SETTINGS_EXPLORER_SYSTEM_HW = { + # Enable RegBack + r'System\CurrentControlSet\Control\Session Manager\Configuration Manager': { + 'DWORD Items': {'EnablePeriodicBackup': 1}, + }, + } SETTINGS_EXPLORER_SYSTEM = { # Disable Telemetry r'Software\Microsoft\Windows\CurrentVersion\Policies\DataCollection': { @@ -184,6 +190,10 @@ def config_classicstart(): sleep(1) popen_program(cs_exe) +def config_explorer_system_hw(): + """Configure Windows Explorer for all users via Registry settings (HW).""" + write_registry_settings(SETTINGS_EXPLORER_SYSTEM_HW, all_users=True) + def config_explorer_system(): """Configure Windows Explorer for all users via Registry settings.""" write_registry_settings(SETTINGS_EXPLORER_SYSTEM, all_users=True) diff --git a/.bin/Scripts/settings/launchers.py b/.bin/Scripts/settings/launchers.py index 4fceec6f..9f6e2c9f 100644 --- a/.bin/Scripts/settings/launchers.py +++ b/.bin/Scripts/settings/launchers.py @@ -25,6 +25,12 @@ LAUNCHERS = { 'L_ITEM': 'system_checklist.py', 'L_ELEV': 'True', }, + 'System Checklist (HW)': { + 'L_TYPE': 'PyScript', + 'L_PATH': 'Scripts', + 'L_ITEM': 'system_checklist_hw.py', + 'L_ELEV': 'True', + }, 'User Checklist': { 'L_TYPE': 'PyScript', 'L_PATH': 'Scripts', diff --git a/.bin/Scripts/system_checklist_hw.py b/.bin/Scripts/system_checklist_hw.py new file mode 100644 index 00000000..23c20179 --- /dev/null +++ b/.bin/Scripts/system_checklist_hw.py @@ -0,0 +1,107 @@ +# Wizard Kit: System HW Checklist + +import os +import sys + +# Init +os.chdir(os.path.dirname(os.path.realpath(__file__))) +sys.path.append(os.getcwd()) +from functions.activation import * +from functions.cleanup import * +from functions.diags import * +from functions.info import * +from functions.product_keys import * +from functions.setup import * +init_global_vars() +os.system('title {}: System HW Checklist Tool'.format(KIT_NAME_FULL)) +global_vars['LogFile'] = r'{LogDir}\System HW Checklist.log'.format(**global_vars) + +if __name__ == '__main__': + try: + stay_awake() + clear_screen() + print_info('{}: System HW Checklist Tool\n'.format(KIT_NAME_FULL)) + ticket_number = get_ticket_number() + other_results = { + 'Error': { + 'BIOSKeyNotFoundError': 'BIOS key not found', + 'CalledProcessError': 'Unknown Error', + 'FileNotFoundError': 'File not found', + 'GenericError': 'Unknown Error', + 'SecureBootDisabledError': 'Disabled', + }, + 'Warning': { + 'OSInstalledLegacyError': 'OS installed Legacy', + 'SecureBootNotAvailError': 'Not available', + 'SecureBootUnknownError': 'Unknown', + }} + if ENABLED_TICKET_NUMBERS: + print_info('Starting System Checklist for Ticket #{}\n'.format( + ticket_number)) + + # Configure + print_info('Configure') + if global_vars['OS']['Version'] == '10': + try_and_print(message='Explorer...', + function=config_explorer_system_hw, cs='Done') + try_and_print(message='Enabling System Restore...', + function=enable_system_restore, cs='Done') + + # Export system info + print_info('Backup System Information') + try_and_print(message='AIDA64 reports...', + function=run_aida64, cs='Done', other_results=other_results) + try_and_print(message='File listing...', + function=backup_file_list, cs='Done', other_results=other_results) + try_and_print(message='Power plans...', + function=backup_power_plans, cs='Done') + try_and_print(message='Product Keys...', other_results=other_results, + function=run_produkey, cs='Done') + try_and_print(message='Registry...', + function=backup_registry, cs='Done', other_results=other_results) + + # User data + print_info('User Data') + show_user_data_summary() + + # Summary + print_info('Summary') + try_and_print(message='Operating System:', + function=show_os_name, ns='Unknown', silent_function=False) + try_and_print(message='Activation:', + function=show_os_activation, ns='Unknown', silent_function=False) + try_and_print(message='Secure Boot Status:', + function=check_secure_boot_status, other_results=other_results) + try_and_print(message='Installed RAM:', + function=show_installed_ram, ns='Unknown', silent_function=False) + show_free_space() + try_and_print(message='Installed Antivirus:', + function=get_installed_antivirus, ns='Unknown', + other_results=other_results, print_return=True) + try_and_print(message='Installed Office:', + function=get_installed_office, ns='Unknown', + other_results=other_results, print_return=True) + + # Play audio, show devices, open Windows updates, and open Activation + try_and_print(message='Opening Device Manager...', + function=open_device_manager, cs='Started') + try_and_print(message='Opening HWiNFO (Sensors)...', + function=run_hwinfo_sensors, cs='Started', other_results=other_results) + try_and_print(message='Opening Windows Updates...', + function=open_windows_updates, cs='Started') + if not windows_is_activated(): + try_and_print(message='Opening Windows Activation...', + function=open_windows_activation, cs='Started') + sleep(3) + try_and_print(message='Running XMPlay...', + function=run_xmplay, cs='Started', other_results=other_results) + check_secure_boot_status(show_alert=True) + + # Done + print_standard('\nDone.') + pause('Press Enter exit...') + exit_script() + except SystemExit: + pass + except: + major_exception()