Update PowerShell on Windows: practical guide and official methods
Update PowerShell on Windows requires distinguishing two different products. Windows PowerShell 5.1 is part of the operating system and only receives security fixes via Windows Update. PowerShell 7 is installed separately, uses the executable pwsh.exe and can be updated with WinGet, Microsoft Store, an MSI package, a ZIP file, or the .NET global tool.
Quick response
And PowerShell 7 is already installed, open Windows Terminal and run:
winget upgrade --id Microsoft.PowerShell --exact --source wingetIf it is not yet installed, replace upgrade by install. with install. For administration, remoting, or installation for all users, the MSI is more complete than the default MSIX package.
Updating does not fix all errors
If PowerShell takes a long time to open, crashes, or shows errors, the cause may also be the startup profile, an incompatible module, a corporate policy, antivirus software, environment variables, or corrupted files. The update may provide fixes, but it should not be presented as an automatic solution for any failure.
Windows PowerShell 5.1 and PowerShell 7 are not the same application
| Feature | Windows PowerShell 5.1 | PowerShell 7 |
|---|---|---|
| Executable | powershell.exe | pwsh.exe |
| pwsh.exe | .Engine | .NET Framework 4.x |
| Modern and cross-platform .NET | Windows Update; security maintenance | WinGet, Store/MSIX, MSI, ZIP, or .NET |
| Common path | C:\Windows\System32\WindowsPowerShell\v1.0 | C:\Program Files\PowerShell\7 |
| State | Included for compatibility; no new features | Active development and support |
Installing PowerShell 7 does not replace or uninstall Windows PowerShell 5.1. Both can coexist because they use different executables, folders, profiles, and module paths. This separation allows you to keep legacy tools that still require Windows PowerShell while taking advantage of the modern features of PowerShell 7.
Versions in effect as of July 2026
- PowerShell 7.6.4 LTS: current long-term support version and the package that WinGet offers by default.
- PowerShell 7.5.9 Stable: short-cycle version, supported until November 10, 2026.
- PowerShell 7.4.18 LTS: previous LTS, also supported until November 10, 2026.
- PowerShell 7.7 Preview: testing branch with no production support.
Stable or LTS?
The naming can be confusing because PowerShell 7.6 LTS is newer than PowerShell 7.5 Stable. For most users and production environments, 7.6 LTS is the most reasonable choice due to its longer maintenance cycle.
Check which version you have installed
Open the console you normally use and run:
$PSVersionTable | Select-Object PSEdition, PSVersionPSEdition Desktopand version 5.1: you are on Windows PowerShell.PSEdition Coreand version 7.x: you are on PowerShell 7.- If you installed PowerShell 7 but still see 5.1, you probably opened
powershell.exeinstead ofpwsh.exe.
where.exe powershellWhich method should be used
| Method | Best usage | Updates | Limitations |
|---|---|---|---|
| WinGet MSIX | Personal PC | WinGet or Store | Per user; no PowerShell remoting |
| WinGet MSI | Administration and full team | WinGet or Microsoft Update | Requires administrator |
| GitHub MSI | Offline or enterprise | Microsoft Update if enabled | Choose correct architecture |
| Microsoft Store | Graphical installation | Automatic | MSIX limitations |
| ZIP | Portable or multiple versions | Manual | No automatic PATH or shortcuts |
| .NET Global Tool | Developers | dotnet tool | Requires .NET SDK |
1. Install or update PowerShell with WinGet
Microsoft considers WinGet the recommended method for installing PowerShell on client machines. You can run it from Windows Terminal, Command Prompt, Windows PowerShell, or PowerShell 7.

Update sources and locate the official package
winget source update

Install for the first time
From PowerShell 7.6, the standard command installs the MSIX package:
winget install --id Microsoft.PowerShell --exact --source wingetTo install the traditional MSI:
winget install --id Microsoft.PowerShell --exact --source winget --installer-type wixUpdate an existing installation
winget upgrade --id Microsoft.PowerShell --exact --source wingetIf you use MSI and want to keep that installation type:
winget upgrade --id Microsoft.PowerShell --exact --source winget --installer-type wix
Review the installation type before changing it
MSIX is installed per user, and MSI is usually installed for the machine. Check first winget list --id Microsoft.PowerShell --exact to avoid creating unnecessary parallel installations.
2. Download and install PowerShell from GitHub
The official repository publishes signed installers. This method is appropriate when you need to preserve the installer, work offline, choose the architecture, or deploy it with enterprise tools.
- Open the official PowerShell page on GitHub.
- Download win-x64.msi for most PCs, or win-arm64.msi for Windows on ARM.
- For general use, choose the most recent release from the current LTS branch.
- Do not use Preview in production.

Important MSI options
- Add PowerShell to Path: allows starting PowerShell 7 with
pwsh. - Enable updating through Microsoft Update: enables updates via Windows Update, WSUS, or Configuration Manager.
- Register Windows Event Logging Manifest: registers PowerShell events.
- Context menu: adds optional shortcuts in File Explorer.
- Enable PowerShell Remoting: activate it only if you really need it and understand its configuration.


PowerShell 7.7 changes the distribution
Microsoft states that PowerShell 7.7 will no longer publish MSI. WinGet will install MSIX. This especially affects administrators who rely on per-machine installation, remoting, or MSI deployments.
3. Install or update from Microsoft Store
Microsoft Store offers a graphical installation and automatic updates. It is suitable for an individual user who uses PowerShell locally.
- Open Microsoft Store.
- Search PowerShell and verify that the publisher is Microsoft Corporation.
- Credit install.
- To force an update, open Library and use Get updates.


Store/MSIX limitations
It is installed for a single user, does not support PowerShell remoting, and restricts certain operations that write to $PSHOME, including profiles for all users and some LocalMachine scope settings.
4. Use the portable ZIP package
The ZIP is useful for testing a version, maintaining multiple 7.x branches in separate folders, or running PowerShell without a conventional installation.
- Download the x64 or Arm64 ZIP from GitHub.
- Unblock the file if Windows marks it as coming from the Internet.
- Extract the contents.
- Execute
pwsh.exefrom the folder. - Manually add a shortcut or the path to PATH if needed.
The ZIP does not update automatically.
You must download each new version. It also does not configure requirements, shortcuts, PATH, Microsoft Update, or remoting.
5. Install as a .NET global tool
Developer-oriented method with the .NET SDK:
dotnet tool install --global PowerShellTo update:
dotnet tool update --global PowerShellHow to update Windows PowerShell 5.1
Windows PowerShell 5.1 does not become PowerShell 7. It is a Windows component and receives security updates via Windows Update.
- Open Configuration.
- Enter Windows Update.
- Credit Check for updates.
- Install the cumulative updates and restart if prompted.
Even if Windows is up to date, Windows PowerShell will still show 5.1. To use PowerShell 7, open the application PowerShell 7 or run pwsh.
Use Windows PowerShell 5.1 and PowerShell 7 at the same time
Coexistence is intentional. Windows PowerShell 5.1 may still be needed for legacy modules, Windows PowerShell ISE, or .NET Framework-based tools. PowerShell 7 is preferable for new scripts and modern automation.

Open Windows PowerShell 5.1
powershellOpen PowerShell 7
pwshVerify the update
$PSVersionTable | Select-Object PSEdition, PSVersion, OSwinget list --id Microsoft.PowerShell --exactGet-Command pwsh | Select-Object Name, Source, VersionTroubleshooting
WinGet is not recognized
Update App Installer from Microsoft Store. WinGet is not natively available on Windows Server 2022 or earlier; Windows Server 2025 includes it with Desktop Experience.
WinGet cannot find PowerShell
winget source updateIf the source remains corrupted, from an administrative console:
winget source reset --forcepwsh is not recognized
Close and reopen Windows Terminal. If you installed the MSI, try:
"C:\Program Files\PowerShell\7\pwsh.exe"PowerShell takes a long time to start
pwsh -NoProfileIf it opens correctly, review the file indicated by $PROFILE. Make a backup before modifying it and check module imports, network access, and prompt customizations.
A module works in 5.1 but fails in 7
Look for a compatible version. When the module allows it, try the compatibility layer:
Import-Module ModuleName -UseWindowsPowerShellSecurity before updating
- Download only from Microsoft Store, WinGet, Microsoft Learn, or PowerShell/PowerShell on GitHub.
- Do not use portals that repackage the installer.
- Copy profiles and scripts before switching branches or installer types.
- Test critical scripts before migrating scheduled tasks from Windows PowerShell 5.1.
- Do not enable remoting or reduce security controls for a basic installation.
Frequently Asked Questions
Does installing PowerShell 7 remove Windows PowerShell 5.1?
No. They are installed in different folders and use different executables.
Which version is recommended in 2026?
For most users and production systems, PowerShell 7.6 LTS, always on its latest maintenance revision.
MSI or Microsoft Store?
Store/MSIX is convenient for personal use. MSI is more suitable for all users, remoting, and advanced administration.
Does PowerShell update automatically?
Store/MSIX can update automatically. MSI can use Microsoft Update if enabled. ZIP requires manual updates.
Do I need administrator permissions?
Not for all installations. MSIX per-user can be installed without elevation; MSI for the machine and system changes usually require it.
Does updating improve performance?
It can provide fixes and security, but a slow console also requires reviewing profiles, modules, network, and antivirus. Use pwsh -NoProfile to isolate the startup.
Conclusion
The simplest way to update PowerShell on Windows is to use WinGet with the exact ID Microsoft.PowerShell. For everyday use, MSIX is sufficient; for administration, remoting, or deployment to all users, MSI offers more comprehensive integration.
Windows PowerShell 5.1 will remain installed and will be maintained through Windows Update. After installing PowerShell 7, open pwsh, verify $PSVersionTable and test your modules and scripts before migrating important automations.



















