Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/cspell/psdocs/dictionaries/psdocs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,7 @@ WBEM
WDAC
webservice
WinCompat
WinGet
wmicimv2
workgroup
workgroups
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Installing PowerShell on Windows
There are multiple ways to install PowerShell in Windows. Each install method is designed to support
different scenarios and workflows. Choose the method that best suits your needs.

- [Winget][14] - Recommended way to install PowerShell on Windows clients
- [WinGet][14] - Recommended way to install PowerShell on Windows clients
- [MSI package][11] - Best choice for Windows Servers and enterprise deployment scenarios
- [ZIP package][15] - Easiest way to "side load" or install multiple versions
- Use this method for Windows Nano Server, Windows IoT, and Arm-based systems
Expand All @@ -18,16 +18,16 @@ different scenarios and workflows. Choose the method that best suits your needs.

[!INCLUDE [Latest version](../../includes/latest-install.md)]

## <a id="winget">Install PowerShell using Winget (recommended)</a>
## <a id="winget">Install PowerShell using WinGet (recommended)</a>

Winget, the Windows Package Manager, is a command-line tool enables users to discover, install,
WinGet, the Windows Package Manager, is a command-line tool enables users to discover, install,
upgrade, remove, and configure applications on Windows client computers. This tool is the client
interface to the Windows Package Manager service. The `winget` command-line tool is bundled with
Windows 11 and modern versions of Windows 10 by default as the **App Installer**.

> [!NOTE]
> See the [winget documentation][09] for a list of system requirements and install instructions.
> `Winget` isn't available on Windows Server 2022 or earlier versions. Windows Server 2025 Preview
> `winget` isn't available on Windows Server 2022 or earlier versions. Windows Server 2025 Preview
> Build 26085 and later includes `winget` for **Windows Server with Desktop Experience** only.

The following commands can be used to install PowerShell using the published `winget` packages:
Expand Down Expand Up @@ -229,15 +229,15 @@ session is running.

- If the value is `$HOME\.dotnet\tools`, PowerShell was installed with the [.NET Global tool][10].
- If the value is `$Env:ProgramFiles\PowerShell\7`, PowerShell was installed as an
[MSI package][11] or with [Winget][14] on a computer with an X86 or x64 processor.
[MSI package][11] or with [WinGet][14] on a computer with an X86 or x64 processor.
- If the value starts with `$Env:ProgramFiles\WindowsApps\`, PowerShell was installed as a
[Microsoft Store package][12] or with [Winget][14] on computer with an ARM processor.
[Microsoft Store package][12] or with [WinGet][14] on computer with an ARM processor.
- If the value is anything else, it's likely that PowerShell was installed as a [ZIP package][15].

If you installed via the MSI package, that information also appears in the
**Programs and Features** Control Panel.

To determine whether PowerShell may be upgraded with Winget, run the following command:
To determine whether PowerShell may be upgraded with WinGet, run the following command:

```powershell
winget list --name PowerShell --upgrade-available
Expand Down Expand Up @@ -382,6 +382,7 @@ can't support those methods.
[13]: #powershell-remoting
[14]: #winget
[15]: #zip
[18]: https://github.com/PowerShell/PowerShell/releases/latest
[19]: https://github.com/ms-iot/iot-adk-addonkit/blob/master/Tools/IoTCoreImaging/Docs/Import-PSCoreRelease.md#Import-PSCoreRelease
[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/PowerShell-7.5.0-win-arm64.msi
[21]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/PowerShell-7.5.0-win-arm64.zip
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Information about installing PowerShell on macOS
ms.date: 01/27/2025
ms.date: 01/29/2025
title: Installing PowerShell on macOS
---

Expand Down Expand Up @@ -282,8 +282,8 @@ support those methods.
[19]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell-7.4.7-osx-arm64.tar.gz
[20]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell-7.4.7-osx-x64.pkg
[21]: https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell-7.4.7-osx-x64.tar.gz
[22]: https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-7.5.0-osx-arm64.pkg
[23]: https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-7.5.0-osx-arm64.tar.gz
[24]: https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-7.5.0-osx-x64.pkg
[25]: https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-7.5.0-osx-x64.tar.gz
[22]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-osx-arm64.pkg
[23]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-osx-arm64.tar.gz
[24]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-osx-x64.pkg
[25]: https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-osx-x64.tar.gz
[26]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
2 changes: 1 addition & 1 deletion reference/docs-conceptual/install/install-alpine.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Installation on Alpine is based on downloading tar.gz package from the [releases
to the package depends on the version of PowerShell you want to install.

- PowerShell 7.4 - `https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell-7.4.7-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-7.5.0-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-linux-musl-x64.tar.gz`

Then, in the terminal, execute the following shell commands to install PowerShell 7.4:

Expand Down
4 changes: 2 additions & 2 deletions reference/docs-conceptual/install/install-debian.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Information about installing PowerShell on Debian Linux
ms.date: 01/23/2025
ms.date: 01/29/2025
title: Installing PowerShell on Debian
---
# Installing PowerShell on Debian
Expand Down Expand Up @@ -74,7 +74,7 @@ The link to the current version is:
- PowerShell 7.4 (LTS) universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell_7.4.7-1.deb_amd64.deb`
- PowerShell 7.5 universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-preview_7.5.0-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell_7.5.0-1.deb_amd64.deb`

The following shell script downloads and installs the current release of PowerShell. You can
change the URL to download the version of PowerShell that you want to install.
Expand Down
4 changes: 2 additions & 2 deletions reference/docs-conceptual/install/install-rhel.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Information about installing PowerShell on Red Hat Enterprise Linux (RHEL)
ms.date: 01/23/2025
ms.date: 01/29/2025
title: Installing PowerShell on Red Hat Enterprise Linux (RHEL)
---
# Installing PowerShell on Red Hat Enterprise Linux (RHEL)
Expand Down Expand Up @@ -69,7 +69,7 @@ The link to the current version is:
- PowerShell 7.4.7 universal package for supported versions of RHEL
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell-7.4.7-1.rh.x86_64.rpm`
- PowerShell 7.5.0 universal package for supported versions of RHEL
- `https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-preview-7.5.0_preview.2-1.rh.x86_64.rpm`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-1.rh.x86_64.rpm`

The following shell script downloads and installs the current preview release of PowerShell. You can
change the URL to download the version of PowerShell that you want to install.
Expand Down
4 changes: 2 additions & 2 deletions reference/docs-conceptual/install/install-ubuntu.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Information about installing PowerShell on Ubuntu
ms.date: 01/27/2025
ms.date: 01/29/2025
title: Installing PowerShell on Ubuntu
---
# Installing PowerShell on Ubuntu
Expand Down Expand Up @@ -86,7 +86,7 @@ The link to the current version is:
- PowerShell 7.4 (LTS) universal package for supported versions of Ubuntu
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.7/powershell_7.4.7-1.deb_amd64.deb`
- PowerShell 7.5 universal package for supported versions of Ubuntu
- `https://github.com/PowerShell/PowerShell/releases/download/7.5.0/powershell-preview_7.5.0-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-preview_7.5.0-1.deb_amd64.deb`

The following shell script downloads and installs the current preview release of PowerShell. You can
change the URL to download the version of PowerShell that you want to install.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
---
title: What's New in PowerShell 7.5
description: New features and changes released in PowerShell 7.5
ms.date: 01/23/2025
ms.date: 01/29/2025
---

# What's New in PowerShell 7.5

PowerShell 7.5.0 includes the following features, updates, and breaking changes. PowerShell
7.5 is built on .NET 9.0.1 GA release.

For a complete list of changes, see the [CHANGELOG][chg] in the GitHub repository.
For a complete list of changes, see the [CHANGELOG][chg] in the GitHub repository. For more
information about .NET 9, see [What's new in .NET 9][07].

## Breaking Changes

Expand All @@ -21,6 +22,9 @@ For a complete list of changes, see the [CHANGELOG][chg] in the GitHub repositor
- The Windows installer now remembers installation options used and uses them to initialize options
for the next installation ([#20420][20420]) (Thanks @reduckted!)
- `ConvertTo-Json` now serializes `BigInteger` as a number ([#21000][21000]) (Thanks @jborean93!)
- .NET 9 removed the `BinaryFormatter` implementation causing a regression in the `Out-GridView`
cmdlet. The search feature of `Out-GridView` doesn't work in PowerShell 7.5. This problem is
tracked in [Issue #24749][24749].

## Updated modules

Expand Down Expand Up @@ -120,7 +124,7 @@ Many thanks to **@ArmaanMcleod** and others for all their work to improve tab co
@jborean93!)
- Add telemetry to check for specific tags when importing a module ([#20371][20371])
- Add `PSAdapter` and `ConsoleGuiTools` to module load telemetry allowlist ([#20641][20641])
- Add Winget module to track usage ([#21040][21040])
- Add WinGet module to track usage ([#21040][21040])
- Ensure the filename is not null when logging WDAC ETW events ([#20910][20910]) (Thanks
@jborean93!)
- Fix four regressions introduced by the WDAC logging feature ([#20913][20913])
Expand Down Expand Up @@ -189,25 +193,25 @@ $tests = @{
$groupResult = foreach($test in $tests.GetEnumerator()) {
$ms = (Measure-Command { & $test.Value -Count $_ }).TotalMilliseconds

[pscustomobject]@{
[pscustomobject]@{
CollectionSize = $_
Test = $test.Key
TotalMilliseconds = [math]::Round($ms, 2)
}

[GC]::Collect()
[GC]::WaitForPendingFinalizers()
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
}

$groupResult = $groupResult | Sort-Object TotalMilliseconds
$groupResult | Select-Object *, @{
Name = 'RelativeSpeed'
Expression = {
$relativeSpeed = $_.TotalMilliseconds / $groupResult[0].TotalMilliseconds
$speed = [math]::Round($relativeSpeed, 2).ToString() + 'x'
if ($speed -eq '1x') { $speed } else { $speed + ' slower' }
}
} | Format-Table -AutoSize
$groupResult = $groupResult | Sort-Object TotalMilliseconds
$groupResult | Select-Object *, @{
Name = 'RelativeSpeed'
Expression = {
$relativeSpeed = $_.TotalMilliseconds / $groupResult[0].TotalMilliseconds
$speed = [math]::Round($relativeSpeed, 2).ToString() + 'x'
if ($speed -eq '1x') { $speed } else { $speed + ' slower' }
}
} | Format-Table -AutoSize
}
```

Expand Down Expand Up @@ -249,14 +253,15 @@ CollectionSize Test TotalMilliseconds RelativeSpeed

<!-- end of content -->
<!-- reference links -->
[chg]: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/preview.md
[chg]: https://github.com/PowerShell/PowerShell/blob/master/CHANGELOG/7.5.md

[01]: ../learn/experimental-features.md#psnativewindowstildeexpansion
[02]: ../learn/experimental-features.md#pscommandnotfoundsuggestion
[03]: ../learn/experimental-features.md#pscommandwithargs
[04]: ../learn/experimental-features.md#psmoduleautoloadskipofflinefiles
[05]: ../learn/experimental-features.md#psredirecttovariable
[06]: ../learn/experimental-features.md#psserializejsonlongenumasnumber
[07]: /dotnet/core/whats-new/dotnet-9/overview)

[19896]: https://github.com/PowerShell/PowerShell/pull/19896
[20014]: https://github.com/PowerShell/PowerShell/pull/20014
Expand Down Expand Up @@ -328,3 +333,4 @@ CollectionSize Test TotalMilliseconds RelativeSpeed
[24115]: https://github.com/PowerShell/PowerShell/pull/24115
[24228]: https://github.com/PowerShell/PowerShell/pull/24228
[24236]: https://github.com/PowerShell/PowerShell/pull/24236
[24749]: https://github.com/PowerShell/PowerShell/issues/24749