Microsoft Update (MU) changes for PowerShell 7
It has been a while since we’ve updated folks on the latest behaviors for Microsoft Update! This post gives some background on Microsoft Update, explains our update rules, and announces our plans for updating your installs of PowerShell 7.2.
About Microsoft Update
Microsoft Update (MU) is a service that provides automatic updates for Microsoft products and services. We first started using MU in PowerShell 7.2. MU provides a convenient way to automatically update PowerShell 7, which ensures you can control your update schedule, test it against your environment, and scale across your enterprise with ease.
Enabling MU
During MSI installation, two checkboxes control update settings:
- Enable updates for PowerShell through Microsoft Update or WSUS (recommended) Allows the system to receive updates for PowerShell 7 through Microsoft Update, Windows Server Update Services (WSUS), or System Center Configuration Manager (SCCM).
- Enable Microsoft Update when I check for updates (recommended) Permits the system to receive updates for all supported Microsoft software, not just Windows.
We recommend that you select both options to ensure comprehensive update coverage.
If you want to set these options while installing PowerShell from the command line, you can find detailed instructions in the PowerShell documentation.
Update Availability
After we release a new PowerShell version, it can take up to two weeks before the update is available through Microsoft Update. We strive to publish the update no later than 2 weeks after the GitHub release, but there is no guarantee. There may be circumstances that delay the update. If you need the update before it’s available via MU, you can download it directly from the PowerShell Releases page on GitHub.
What is the expected behavior of MU?
We defined the rules for updates in an intentional way to ensure that users who are using LTS versions stay on LTS versions. This means that you might not be updated to the latest version of PowerShell 7 when you expected.
These are the rules for updates:
- If you are running 7.4 (LTS), you will receive updates to 7.4 (LTS)
- If you are running 7.5 (stable), you will receive updates to 7.5 (stable)
- If you are running any preview or release candidate (rc) version, you will receive updates to next latest preview version as they come out.
We will never update an LTS version to a stable non-LTS version, like 7.4 to 7.5. However, a stable non-LTS release WILL be upgraded to the higher LTS release when support for the stable release ends. The only time we update an LTS version to a different version would be when an LTS version is out of support. For example, we will update 7.4 to 7.6 (next LTS) once 7.4 goes out of support.
Preview versions will never be updated to the latest stable version. Instead, we will update you to the latest preview release. This means if you are on 7.5-rc.1 you will be updated to 7.6-preview.2 (since preview.1 was skipped) instead of 7.5.
NOTE
Beginning March 14, 2025, we will be updating users who are on 7.2 to 7.4.Helpful Links
Hopefully this post helps you understand the MU process. If you want more information about our MU release process, PowerShell releases, or the PowerShell Support Lifecycle, check out the following articles.
Feedback
As always, we look forward to your feedback. You can provide feedback via GitHub Issues.
Thank you so much!
Steven Bucher
PM on the PowerShell Team
It would be great if the PowerShell update message actually woud take these two weeks into account, given this open issue.
It is rather confusing to see the message, having selected the checkbox, and see no updates coming.
Is it possible to enable MU after PowerShell has already been installed?
Thanks Sydney and Steven for the clarifications and for linking to the documentation.
Canonical has been keeping the snaps up-to-date.
Also, for the link to the documentation, you probably meant to link to the section “Support for Microsoft Update in PowerShell 7.2 and newer” which documents the MSI command-line options you referred to.