Skip to content

About

Automated PowerShell enterprise suite for Windows Update management: selective OS patching, firmware bypass, driver filtering, and reboot control.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Windows Update PowerShell Scripts

A set of clean, automated PowerShell scripts for managing and applying Windows Updates using the PSWindowsUpdate module.

Supports three distinct update profiles depending on your hardware and driver policy:

  1. All Updates – Full update (OS, software, drivers, and firmware/BIOS).
  2. Drivers, No Firmware – OS updates and hardware drivers (GPU, network, audio, chipset), but skips firmware/BIOS updates.
  3. No Drivers or Firmware – Standard OS patches and software updates only.

Quick Start (One-Liners)

Run PowerShell as Administrator:

1. Install ALL Updates (OS + Drivers + Firmware)

.\Update-WindowsSystem.ps1 -Mode All -AutoReboot

(Or use the shortcut: .\Update-All.ps1 -AutoReboot)

2. Install ALL Updates + Drivers (Excluding Firmware/BIOS)

.\Update-WindowsSystem.ps1 -Mode DriversNoFirmware

(Or use the shortcut: .\Update-DriversNoFirmware.ps1)

3. Install OS Updates ONLY (No Drivers, No Firmware)

.\Update-WindowsSystem.ps1 -Mode NoDriversOrFirmware

(Or use the shortcut: .\Update-NoDriversOrFirmware.ps1)


Standalone Raw PowerShell Commands

If you prefer running direct PowerShell commands without cloning this repository:

# Prerequisites (Run once in elevated PowerShell)
Set-ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name PSWindowsUpdate -Force -Confirm:$false
Import-Module PSWindowsUpdate

# Option A: Install ALL (OS + Drivers + Firmware)
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot

# Option B: Install Drivers, Skip Firmware
Install-WindowsUpdate -MicrosoftUpdate -NotTitle "*Firmware*", "*BIOS*" -AcceptAll -AutoReboot

# Option C: Install OS Updates Only (No Drivers, No Firmware)
Install-WindowsUpdate -NotCategory "Drivers" -NotTitle "*Firmware*", "*BIOS*" -AcceptAll -AutoReboot

Parameter Reference (Update-WindowsSystem.ps1)

Parameter Type Default Description
-Mode String 'All' Update profile: All, DriversNoFirmware, or NoDriversOrFirmware.
-AutoReboot Switch False Automatically reboots the machine if required by an update.
-ScanOnly Switch False Only checks and prints pending updates matching the mode without installing them.

Previewing Updates (Dry Run)

To check what updates are available without installing:

.\Update-WindowsSystem.ps1 -Mode DriversNoFirmware -ScanOnly

Requirements & Troubleshooting

  • PowerShell 5.1+ or PowerShell 7+
  • Administrator Rights: Must be run from an elevated PowerShell prompt.
  • Execution Policy: If prompted that scripts are disabled on your system, run:
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
  • NuGet Provider Prompt: The script automatically attempts to install NuGet if missing. If manually prompted, enter Y.

License

MIT License. See LICENSE for details.

About

Automated PowerShell enterprise suite for Windows Update management: selective OS patching, firmware bypass, driver filtering, and reboot control.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages