Future versions of PowerShell can be downloaded via Microsoft Update
Most people are familiar with the idea of using Windows Update to... well... keep Windows up-to-date. But there is also Microsoft Update which is used to keep other Microsoft software updated, and it can now be used to update PowerShell.
The announcement from Microsoft that PowerShell updates will be delivered through Microsoft Update will be welcome by anyone who dislikes the process of checking and updating the software via GitHub.
See also:
- Microsoft releases KB5003698 update preview to fix blurry text and VPN issues in Windows 10
- Microsoft confirms that KB5001391 update is making Windows 10 blurry
- Microsoft will support Internet Explorer for one more year -- but now is the time to move on
In a blog post about the changing release method, Microsoft says: "We're happy to announce that we're taking the first steps to making PowerShell 7 easier than ever to update on Windows 10 and Server".
The company goes on to explain the thinking behind the change, saying:
In the past, Windows users were notified in their console that a new version of PowerShell 7 is available, but they still had to hop over to our GitHub release page to download and install it, or rely on a separate package management tool like the Windows Package Manager, Chocolatey, or Scoop. But with Microsoft Update, you’ll get the latest PowerShell 7 updates directly in your traditional Windows Update (WU) management flow, whether that’s with Windows Update for Business, WSUS, SCCM, or the interactive WU dialog in Settings.
If you are interested in opting into the Microsoft Update updating method, you will need to be running Windows 10 RS3 (10.0.16299) or newer and PowerShell 7.2 preview 5 or preview 6. You will also need to head to Settings > Windows Update > Advanced options and check the Receive updates for other Microsoft products when you update Windows option.
You will then need to run the following command from an elevated PowerShell session to add a required registry key:
$pwshRegPath = "HKLM:\SOFTWARE\Microsoft\PowerShellCore"
if (!(Test-Path -Path $pwshRegPath)) {
throw "PowerShell 7 is not installed"
}
Set-ItemProperty -Path $pwshRegPath -Name UseMU -Value 1 -Type DWord
Further information can be found in the blog post.