Recommended Free Tools
Run $PSVersionTable in the same shell your workload uses. The PSVersion and PSEdition fields identify the engine, while the executable name tells you whether it is Windows PowerShell 5.1 (powershell.exe) or PowerShell 7 and later (pwsh.exe). Updating depends on which engine you have: Windows PowerShell 5.1 is serviced through Windows Update, whereas PowerShell 7 is installed and upgraded separately, side-by-side with 5.1.
Check the PowerShell version that is actually running
Always check from the shell used by the task, service, automation account or remoting session you intend to change. A server can have both editions installed, and opening a different shortcut can show a different engine.
1. Display the engine and edition
$PSVersionTable
# Individual fields
$PSVersionTable.PSVersion
$PSVersionTable.PSEdition
$PSHOME
# Path of the current PowerShell process
(Get-Process -Id $PID).Path
- PSVersion is the PowerShell engine version.
- PSEdition identifies the edition, such as
Desktopfor Windows PowerShell 5.1 orCorefor PowerShell 7. - PSHOME is the installation directory. It helps identify how PowerShell 7 was installed.
powershell.exestarts Windows PowerShell 5.1. PowerShell 6 and later usepwsh.exeon Windows.
For a quick, unambiguous check in scripts, record both the executable path and the table values:
[pscustomobject]@{
Executable = (Get-Process -Id $PID).Path
Version = $PSVersionTable.PSVersion.ToString()
Edition = $PSVersionTable.PSEdition
PSHome = $PSHOME
}
2. Check the Windows Server build separately
PowerShell version and Windows Server version are different values. Run winver.exe for the graphical version dialog, or use the documented command-line version information:
#1 Best Overall
- 64 bit | 1 Server with 16 or less processor cores | provides 2 VMs
- For physical or minimally virtualized environments
- Requires Windows Server 2025 User and/or Device Client Access Licenses (CALs) | No CALs are included
- Core-based licensing | Additional license packs required for servers with more than 16 processor cores or to add VMs | 2 VMs whenever all processor cores are licensed.
- Product ships in plain envelope | Activation key is located under scratch-off area on label |Beware of counterfeits | Genuine Windows Server software is branded by Microsoft only.
winver.exe
ver
$PSVersionTable.BuildVersion is used for Windows PowerShell build information. In PowerShell 7, $PSVersionTable.OS reports operating-system information. Keep the Server release and whether it has Desktop Experience in your change record because those details determine whether WinGet is available.
Know what “update PowerShell” means
| Engine | How it is serviced | What installing PowerShell 7 does |
|---|---|---|
| Windows PowerShell 5.1 | Built into Windows; Microsoft provides security updates through the normal Windows Update channels. It is no longer being developed as a feature product. | Nothing. PowerShell 7 does not remove or overwrite it. |
| PowerShell 7 | A separate product with its own installer and release cadence. Upgrade it using the same installation family used originally. | Installs side-by-side with 5.1. Scripts continue using whichever executable or remoting endpoint they call. |
Therefore, there is no supported “replace 5.1 with 7” switch. Keep 5.1 available for modules and scripts that require it, and migrate workloads deliberately.
Choose an installation or upgrade route
| Route | Best fit | Important constraints |
|---|---|---|
| MSI | Windows Server and enterprise deployment. | Supports interactive installation or deployment through management software. Installer options can integrate servicing with Microsoft Update, WSUS or Configuration Manager. |
| ZIP | Server Core, side-loading, isolated environments or keeping multiple versions. | You manage replacement and servicing yourself; it does not provide the same integrated servicing behavior as MSI. |
| WinGet | Windows Server 2025 with Desktop Experience. | Unavailable on Windows Server 2022 and earlier. Do not plan a WinGet-based update on those releases. |
Use an administrator account or an approved deployment identity. Apply your normal change-control process on production servers and test module and remoting compatibility before changing scheduled tasks, services or automation accounts.
Update with the MSI package
- Confirm the current engine with
$PSVersionTableand note the executable path used by each workload. - Obtain the current stable PowerShell 7 MSI that matches the server architecture from Microsoft’s PowerShell distribution channel.
- Run the MSI interactively as an administrator, or distribute it with your organization’s software-management system.
- Review the installer’s servicing choices. MSI deployment can opt into Microsoft Update, WSUS or Configuration Manager servicing where those options are enabled in your environment.
- Let the installation complete, then open a new
pwsh.exesession. Existing shells keep their old engine until they exit. - Verify the new version and path:
pwsh.exe -NoLogo -NoProfile -Command '$PSVersionTable | Format-List PSVersion,PSEdition,PSHome'
Do not promise a reboot as part of every upgrade. Reboot behavior depends on the package, files in use and your server’s servicing state; follow the installer result and your maintenance procedure.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsRank #2
- Offers quick and easy installation on PC
- The software is licensed for 5 User CAL
Update with a ZIP package
ZIP is useful when the server is Server Core, internet access is restricted, or you need a side-by-side copy without an MSI registration. It is also convenient for testing a newer release before changing a managed installation.
- Download the ZIP package for the server’s architecture through an approved channel and transfer it to the server.
- Extract it to a versioned directory rather than overwriting an active directory. A path such as
C:ToolsPowerShell7.xmakes rollback and side-by-side testing easier. - Start the extracted
pwsh.exedirectly and run$PSVersionTable. - Update scheduled tasks, services or PATH entries only after testing. Keep the previous directory until the new one passes validation.
- Define your own replacement and cleanup process. ZIP installations do not receive the same integrated servicing as MSI.
Use WinGet where it is supported
WinGet is available on Windows Server 2025 with Desktop Experience. Microsoft states that it is not available on Windows Server 2022 or earlier; use MSI or ZIP on those systems.
Find the package
winget search --id Microsoft.PowerShell --exact
Install PowerShell 7
winget install --id Microsoft.PowerShell --source winget
Check for and apply an upgrade
winget list --id Microsoft.PowerShell --upgrade-available
winget upgrade --id Microsoft.PowerShell
Run these commands in an elevated administrative context when policy requires it. After WinGet finishes, start a new pwsh.exe process and verify the version. If the command is not recognized or the catalog is unavailable, confirm that the server is Windows Server 2025 with Desktop Experience before troubleshooting the package itself.
Identify how an existing PowerShell 7 installation was made
When the original installer is unknown, inspect $PSHOME:
Rank #3
- Server 2022 Standard 16 Core
- A path under
Program FilesPowerShell7usually indicates an MSI installation. - A path under
WindowsAppsindicates an MSIX installation. - A path under
.dotnettoolsindicates a .NET global-tool installation. - Another location is likely a ZIP installation.
Use the same installation family for upgrades whenever possible. This preserves the expected registration and servicing behavior. If more than one copy exists, call the intended executable by full path during testing instead of relying on PATH order.
Validate scripts, modules and remoting before switching
PowerShell 7 can run many Windows PowerShell scripts, but compatibility is not automatic. Test the exact modules, providers, native commands, credentials and remoting targets used in production.
- Run representative commands in both
powershell.exeandpwsh.exeand compare output and exit codes. - Check that every required module imports successfully in the target edition.
- Test scheduled tasks with the exact executable path and account used in production.
- Exercise service wrappers and CI runners, which may hard-code
powershell.exe. - Keep a rollback command or previous executable path documented until the change is accepted.
For remoting, PowerShell 7 can use the existing Microsoft.PowerShell remoting endpoint. If you need a PowerShell 7-specific endpoint, enable it with:
Enable-PSRemoting
Make endpoint changes deliberately: authentication, constrained-language policies, firewall rules and session configuration are operational dependencies, not merely version settings.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
- Server 2025 will be delivered by post, FPP version
- Enterprise Security – Built-in advanced security features including Hotpatching for seamless updates and Credential Guard to protect against unauthorized access.
- Hybrid Cloud Integration – Connects seamlessly with cloud-based services for efficient management of on-premise and cloud infrastructure
- Optimized Performance – Enhanced networking and storage capabilities with improved data handling and support for high-performance workloads
- User-Friendly Interface – A modernized desktop experience with streamlined management tools such as WinGet and Terminal.
Troubleshoot common problems
The version did not change
You may still be looking at an old shell. Close it and start pwsh.exe again, then inspect (Get-Process -Id $PID).Path. A scheduled task may still point to powershell.exe, which intentionally launches 5.1.
WinGet is not recognized
WinGet is not supported on Windows Server 2022 or earlier, and the supported Server 2025 scenario requires Desktop Experience. Use MSI or ZIP when the server does not meet those conditions.
The installer fails with an access or file-in-use error
Run the approved installer with administrator rights, stop processes that are using the installation directory, and retry during the maintenance window. Do not delete a live installation while scheduled tasks or services are running from it.
A module imports in 5.1 but not in 7
Keep the workload on 5.1 while you test a PowerShell 7-compatible module version or an alternative implementation. Installing 7 does not make a 5.1-only module compatible.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Best Value
- CLIENT ACCESS LICENSES (CALs) are required for every User or Device accessing Windows Server Standard or Windows Server Datacenter
- WINDOWS SERVER 2022 CALs PROVIDE ACCESS to Windows Server 2019 or any previous version.
- A USER CLIENT ACCESS LICENSE (CAL) gives users with multiple devices the right to access services on Windows Server Standard and Datacenter editions.
- GENUINE WINDOWS SERVER SOFTWARE IS BRANDED BY MICROSOFT ONLY.
Remote commands use the wrong endpoint
Check the session configuration and the executable on both ends. PowerShell 7 can use the existing Microsoft.PowerShell endpoint; a separate 7 endpoint requires remoting to be enabled and configured explicitly.
There is no obvious reboot instruction
Do not assume either outcome. The official guidance does not establish a universal reboot requirement. Follow the package’s completion status and your organization’s maintenance policy, then verify from a new process.
Operational and cost considerations
- Reliability: MSI offers the most predictable enterprise servicing. ZIP gives control and isolation but makes patch tracking your responsibility.
- Availability: Keep 5.1 for dependencies that have not been migrated. Point each workload explicitly at the tested executable.
- Rollback: Preserve the prior MSI deployment record or ZIP directory until validation is complete.
- Change scope: Updating PowerShell 7 does not automatically alter scripts, PATH entries, scheduled tasks or remoting endpoints.
- Maintenance: Record the engine version, edition, PSHome path, installation method and Server release for every production host.
Or skip the browser setup
If you need a clean screenshot of a PowerShell runbook, status page or server dashboard for documentation, ScreenshotNeo returns a PNG, JPEG, WebP or PDF from one request. It accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; those steps can be switched off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.
For the complete parameter list, see the ScreenshotNeo API documentation. A direct call looks like this:
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://screenshotneo.com/docs/ -o shot.webp
There are 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 shots, and every feature is included on every plan. Create a free ScreenshotNeo account.
Frequently Asked Questions
Can stable and preview PowerShell releases be installed together?
Yes. Preview releases can coexist with a stable PowerShell 7 installation. Invoke the intended executable explicitly when testing so a preview does not become the version used by a production task accidentally.
How can I prove which engine a scheduled task used?
Have the task log (Get-Process -Id $PID).Path, $PSVersionTable.PSVersion and $PSHome at startup. This records the executable and installation directory rather than relying on a shortcut or PATH.
Does PowerShell 7 automatically convert Windows PowerShell remoting configurations?
No. PowerShell 7 can use the existing Microsoft.PowerShell endpoint, but a PowerShell 7-specific endpoint must be enabled and configured separately.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

