Windows users are all too familiar with the frustration. You’re deep at work when Microsoft’s notorious update notifications start popping up, demanding an immediate restart. Or worse, you’re stuck staring at a loading screen at the most inconvenient moment while Windows “prepares” updates that may or may not work properly. Traditional Windows Update has earned a reputation for being intrusive, unreliable, and completely outside user control.
But what if there was a better way? Enter PSWindowsUpdate, paired with UpdGUI—a powerful open-source combination that puts you back in the driver’s seat. This setup transforms the painful Windows update experience into something actually manageable, giving you granular control over what gets installed and when. Unlike Microsoft’s one-size-fits-all approach, this solution respects your workflow while keeping your system secure and up-to-date. You can finally say goodbye to forced reboots and hello to updates on your terms.
Setting up PSWindowsUpdate and UpdGUI
Control updates with this easy setup
Getting this powerful update management system running requires just a few straightforward steps. The entire process takes about 5–10 minutes and doesn’t require any special software aside from PSWindowsUpdate and UpdGUI.
Before we proceed, if you’ve been taking steps to better control Windows updates, you might have found a way to stop Windows updates indefinitely. Since this setup requires Windows Update Service, I recommend only using Pause updates in the settings panel, as disabling the service can disrupt the system.
Installing PSWindowsUpdate module
Start by opening PowerShell as an administrator by pressing Windows key + X to access Windows’ hidden start menu and clicking Terminal(Admin). Alternatively, you can also right-click the Start button and search for “PowerShell” and hit Enter. Once opened, enter this command:
Set-ExecutionPolicy RemoteSigned -Force
This change ensures the PSWindowsUpdate module can function properly while maintaining security for other scripts.
Next, install the module itself by using:
Install-Module -Name PSWindowsUpdate -Force
This command will download the module from Microsoft’s PowerShell Gallery and automatically install it. When prompted to install from an untrusted repository, type “Y” to continue. The PowerShell Gallery is Microsoft’s official repository, making this warning more of a formality than a genuine security concern.
Once installed, import the new module with:
Import-Module PSWindowsUpdate
This loads all the update management commands into your current PowerShell session. You can then verify everything worked correctly by typing:
Get-Command -Module PSWindowsUpdate
This should display a list of all the available commands for PSWindowsUpdate. Once confirmed working, you can now use this module using the PowerShell command-line interface. If you’d prefer using a GUI instead of the terminal, try pairing PSWindowsUpdate with UpdGUI.
Getting UpdGUI ready
UpdGUI serves as the graphical front-end that makes PSWindowsUpdate accessible to everyone. Download the latest version from the official GitHub repository. The tool comes as a single PowerShell script file, making installation as simple as downloading and running.
Place the updgui.ps1 file in a convenient location, such as your Documents folder or Desktop. You don’t need to install anything or modify system files. The script is one of those portable Windows tools that can be stored on a USB drive for easy on-the-go access. Just make sure you have administrative privileges when opening it in PowerShell, and you’ll be all set.
Before running UpdGUI for the first time, check your PowerShell language mode by entering this command in an administrative PowerShell window.:
$ExecutionContext.SessionState.LanguageMode
The output should show “FullLanguage” for UpdGUI to work properly. If it shows “ConstrainedLanguage,” you’ll need to adjust your system’s PowerShell execution policies.
How to use the setup easily
Once everything is installed, you have two powerful ways to manage your Windows updates. The command-line approach gives maximum flexibility and automation potential, while the GUI provides point-and-click simplicity.
Working with the GUI interface
Launch the tool by right-clicking updgui.ps1 and selecting “Run with PowerShell” or opening it from an administrative PowerShell session within the folder of UpdGUI using:
.updgui.ps1
The interface presents update history and available updates in a clean list format with checkboxes next to each item. You can see updated titles, sizes, and importance levels at a glance. Select the updates you want to install by checking their boxes, then click the Install button to begin the process.
The tool displays real-time progress during downloads and installations, providing clear feedback on what’s happening. Unlike Windows Update’s cryptic progress bars, UpdGUI clearly indicates which update is being processed and how much time remains.
Using PowerShell commands
The command-line interface excels at both simple tasks and complex filtering scenarios. For basic update checking, use:
Get-WindowsUpdate
This command provides detailed information about each update, including its size and what components it affects.
But not all updates are created equal. Sometimes, we just want updates that are essential for smooth operation and security. For security updates, you can use:
Get-WindowsUpdate -Category "Security Updates" -Install -AcceptAll
This command ensures your system stays protected against known vulnerabilities without risking stability issues from other update types.
For driver updates, use:
Get-WindowsUpdate -Category "Drivers"
This shows available hardware updates before installation. Some driver updates improve performance, while others might cause compatibility issues with specialized hardware or software. Make sure to update when it’s convenient for you.
When you’re ready to install all updates except drivers, use:
Get-WindowsUpdate -NotCategory "Drivers" -Install -AcceptAll
This approach prevents hardware compatibility issues while ensuring security patches get installed promptly.
Taking control of your updates
I’ve been using this PSWindowsUpdate and UpdGUI setup for months now, and I can’t imagine going back to Microsoft’s way of doing things. There’s something deeply satisfying about choosing exactly when your computer updates, especially when you’re on a deadline or in the middle of a creative flow.
The best part is the peace of mind it brings. You know that feeling when you see Windows preparing to restart, and you panic about losing your work? That anxiety is completely gone now. Your computer becomes yours again, working on your schedule instead of Microsoft’s. At a time when we’re increasingly at the mercy of big tech companies, taking control of something this fundamental feels pretty good.