DarksAces/AutoUpdater

โ˜… 0Forks 0PowerShellGitHub โ†—Compare

README

๐Ÿš€ Auto Updater

Auto Updater is a light, efficient, and fully automated maintenance suite for Windows. It is designed to run silently at logon to keep your system optimized, secure, and up to date without manual intervention.

๐ŸŒŸ Features

  • Windows Update: Scans and installs official Microsoft software and driver updates.
  • Office Updates: Triggers background updates for Microsoft Office (Word, Excel, etc.).
  • Application Updates (Winget, Scoop, Chocolatey): Automatically upgrades your installed apps via Windows Package Manager, Scoop, and Chocolatey.
  • Microsoft Store Sync: Synchronizes the Store in the background to ensure all components are current.
  • WSL Maintenance: Detects and updates your Linux Subsystem (WSL) kernel.
  • Disk Health Monitoring: Performs a quick S.M.A.R.T. health check on all physical drives.
  • Deep Cleanup: Cleans up temporary system/user files, empties the Recycle Bin, clears the DirectX Shader Cache, flushes the DNS resolver cache, and runs DISM Component Store cleanup to free space.
  • Intelligent Execution: Skips heavy updates if they have already run within the last 24 hours (unless the -Force switch is used).
  • Battery Safety: Postpones power-hungry updates when running on battery to prevent power drain.
  • System Safety: Creates a Restore Point before starting major updates.
  • Log Management: Automatically rotates logs daily and keeps only the last 7 days.
  • Seamless Notifications: Provides unobtrusive English notifications about the maintenance progress.

๐Ÿ› ๏ธ Installation

To set up the Auto Updater on your system:

  1. Download or move the AutoUpdater.ps1 and Install-AutoUpdater.ps1 files to a permanent location (e.g., C:\AutoUpdater).
  2. Open PowerShell as an Administrator.
  3. Navigate to the folder and run the installer:
    powershell.exe -ExecutionPolicy Bypass -File "Install-AutoUpdater.ps1"
  4. Done! The suite is now registered as a Scheduled Task and will run automatically 5 minutes after you log in to avoid slowing down system boot.

๐Ÿ“‚ Project Structure

  • AutoUpdater.ps1: The core maintenance logic.
  • Install-AutoUpdater.ps1: Setup script for registering the Windows Scheduled Task.
  • C:\ProgramData\AutoUpdater\logs\: The centralized log directory.
    • log_yyyy-MM-dd.txt: Individual daily logs (older than 7 days are automatically deleted).
    • last_run.txt: Stores the timestamp of the last successful full execution to control frequency.

Created with โค๏ธ for a cleaner, faster Windows experience.

Contributors

DarksAces

Issues