diff --git a/scripts/auto_setup.py b/scripts/auto_setup.py index 827f78a8..cb889f58 100644 --- a/scripts/auto_setup.py +++ b/scripts/auto_setup.py @@ -48,6 +48,7 @@ BASE_MENUS = { MenuEntry('Open-Shell', 'auto_config_open_shell', selected=False), MenuEntry('Disable Chrome Notifications', 'auto_disable_chrome_notifications', selected=False), MenuEntry('Disable Fast Startup', 'auto_disable_fast_startup', selected=False), + MenuEntry('Disable Password Expiration', 'auto_disable_password_expiration'), MenuEntry('Disable Telemetry', 'auto_shutup_10'), MenuEntry('Enable BSoD MiniDumps', 'auto_enable_bsod_minidumps'), MenuEntry('Enable Hibernation', 'auto_enable_hibernation', selected=False), diff --git a/scripts/wk/setup/win.py b/scripts/wk/setup/win.py index f95d18eb..ffc1c1d9 100644 --- a/scripts/wk/setup/win.py +++ b/scripts/wk/setup/win.py @@ -513,6 +513,7 @@ def auto_disable_chrome_notifications(): NOTE: This can cause Chrome Sync to be re-authenticated.""" TRY_PRINT.run('Disable Chrome Notifications...', disable_chrome_notifications) + def auto_disable_fast_startup(): """Disable fast startup (i.e. Hiberboot).""" TRY_PRINT.run( @@ -522,6 +523,11 @@ def auto_disable_fast_startup(): ) +def auto_disable_password_expiration() -> None: + """Disable password expiration for all users.""" + TRY_PRINT.run('Disable password expiration...', disable_password_expiration) + + def auto_enable_hibernation(): """Enable Hibernation.""" TRY_PRINT.run( @@ -746,6 +752,12 @@ def disable_chrome_notifications() -> None: pref_file.write_text(json.dumps(pref_data, separators=(',', ':'))) +def disable_password_expiration() -> None: + """Disable password expiration for all users.""" + cmd = ['wmic', 'UserAccount', 'set', 'PasswordExpires=False'] + run_program(cmd) + + def enable_bsod_minidumps() -> None: """Enable saving minidumps during BSoDs.""" cmd = ['wmic', 'RECOVEROS', 'set', 'DebugInfoType', '=', '3']