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
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
Locale: en-US
Module Name: Microsoft.PowerShell.Utility
ms.date: 01/19/2023
ms.date: 04/20/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/import-powershelldatafile?view=powershell-7.4&WT.mc_id=ps-gethelp
schema: 2.0.0
title: Import-PowerShellDataFile
Expand Down Expand Up @@ -33,8 +33,7 @@ The `Import-PowerShellDataFile` cmdlet safely imports key-value pairs from hasht
`.psd1` file. The values could be imported using `Invoke-Expression` on the contents of the file.
However, `Invoke-Expression` runs any code contained in the file. This could produce unwanted
results or execute unsafe code. `Import-PowerShellDataFile` imports the data without invoking the
code. By default there is a 500 key limit, but this can be bypassed with the **SkipLimitCheck**
switch.
code.

## EXAMPLES

Expand Down Expand Up @@ -106,8 +105,13 @@ Accept wildcard characters: True

### -SkipLimitCheck

By default `Import-PowerShellDataFile` imports only 500 keys from a `.psd1` file. Use
**SkipLimitCheck** to import more than 500 keys.
By default `Import-PowerShellDataFile` is limited to 500 keys containing a maximum of 5000 AST
nodes when importing from a `.psd1` file. Use **SkipLimitCheck** to bypass these limits.

> [!IMPORTANT]
> You should only bypass the limits if you are sure the file is safe to import. It's possible for a
> malicious actor to create a `.psd1` file with a large number of keys or AST nodes that could
> result in a denial of service.

```yaml
Type: Switch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
Locale: en-US
Module Name: Microsoft.PowerShell.Utility
ms.date: 01/19/2023
ms.date: 04/20/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/import-powershelldatafile?view=powershell-7.5&WT.mc_id=ps-gethelp
schema: 2.0.0
title: Import-PowerShellDataFile
Expand Down Expand Up @@ -33,8 +33,7 @@ The `Import-PowerShellDataFile` cmdlet safely imports key-value pairs from hasht
`.psd1` file. The values could be imported using `Invoke-Expression` on the contents of the file.
However, `Invoke-Expression` runs any code contained in the file. This could produce unwanted
results or execute unsafe code. `Import-PowerShellDataFile` imports the data without invoking the
code. By default there is a 500 key limit, but this can be bypassed with the **SkipLimitCheck**
switch.
code.

## EXAMPLES

Expand Down Expand Up @@ -106,8 +105,13 @@ Accept wildcard characters: True

### -SkipLimitCheck

By default `Import-PowerShellDataFile` imports only 500 keys from a `.psd1` file. Use
**SkipLimitCheck** to import more than 500 keys.
By default `Import-PowerShellDataFile` is limited to 500 keys containing a maximum of 5000 AST
nodes when importing from a `.psd1` file. Use **SkipLimitCheck** to bypass these limits.

> [!IMPORTANT]
> You should only bypass the limits if you are sure the file is safe to import. It's possible for a
> malicious actor to create a `.psd1` file with a large number of keys or AST nodes that could
> result in a denial of service.

```yaml
Type: Switch
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
external help file: Microsoft.PowerShell.Commands.Utility.dll-Help.xml
Locale: en-US
Module Name: Microsoft.PowerShell.Utility
ms.date: 01/19/2023
ms.date: 04/20/2026
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/import-powershelldatafile?view=powershell-7.6&WT.mc_id=ps-gethelp
schema: 2.0.0
title: Import-PowerShellDataFile
Expand Down Expand Up @@ -33,8 +33,7 @@ The `Import-PowerShellDataFile` cmdlet safely imports key-value pairs from hasht
`.psd1` file. The values could be imported using `Invoke-Expression` on the contents of the file.
However, `Invoke-Expression` runs any code contained in the file. This could produce unwanted
results or execute unsafe code. `Import-PowerShellDataFile` imports the data without invoking the
code. By default there is a 500 key limit, but this can be bypassed with the **SkipLimitCheck**
switch.
code.

## EXAMPLES

Expand Down Expand Up @@ -106,8 +105,13 @@ Accept wildcard characters: True
### -SkipLimitCheck
By default `Import-PowerShellDataFile` imports only 500 keys from a `.psd1` file. Use
**SkipLimitCheck** to import more than 500 keys.
By default `Import-PowerShellDataFile` is limited to 500 keys containing a maximum of 5000 AST
nodes when importing from a `.psd1` file. Use **SkipLimitCheck** to bypass these limits.

> [!IMPORTANT]
> You should only bypass the limits if you are sure the file is safe to import. It's possible for a
> malicious actor to create a `.psd1` file with a large number of keys or AST nodes that could
> result in a denial of service.

```yaml
Type: Switch
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: The article discusses the performance characteristics of parallel execution to help you choose the best approach for your code.
ms.date: 05/15/2025
ms.date: 04/21/2026
title: Optimize performance using parallel execution
---
# Optimize performance using parallel execution
Expand Down Expand Up @@ -258,7 +258,7 @@ Conclusions
Much of the information is this article is based on the answers from [Santiago Squarzon][04] and
[mklement0][05] in this [Stack Overflow post][03].

You may also be interested in the [PSParallelPipeline][06] module created by Santiago Squarzon.
You might also be interested in the [PSParallelPipeline][06] module created by Santiago Squarzon.

## Further reading

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Details the policies governing support for PowerShell.
ms.date: 04/03/2026
ms.date: 04/21/2026
ms.topic: lifecycle
title: PowerShell Support Lifecycle
---
Expand All @@ -12,12 +12,12 @@ There are multiple versions of PowerShell 7 that can be installed.
releases can contain critical fixes, innovations, and new features. Microsoft supports a Stable
release for about six months after the next LTS release.

The current Stable release is PowerShell v7.5.5.
The current Stable release is PowerShell v7.5.6.
- **Long Term Servicing (LTS) release** - An LTS release of PowerShell is an LTS release of .NET.
Updates to an LTS release only contain critical security updates and servicing fixes that are
designed to minimize impact on existing workloads.

The current LTS release is PowerShell v7.6.0. The previous LTS release, PowerShell v7.4.14, is
The current LTS release is PowerShell v7.6.1. The previous LTS release, PowerShell v7.4.15, is
still supported until 10-Nov-2026.
- **Preview release** - A preview release is a version of PowerShell that's currently in
development. Preview releases can contain bug fixes, new features, and experiments. Preview
Expand Down
10 changes: 5 additions & 5 deletions reference/docs-conceptual/install/alternate-install-methods.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Alternate ways to install PowerShell on non-Windows platforms.
ms.date: 03/30/2026
ms.date: 04/21/2026
title: Alternate ways to install PowerShell
---
# Alternate ways to install PowerShell
Expand Down Expand Up @@ -177,16 +177,16 @@ install the necessary dependencies for the target OS in separate steps.
The following example shows the steps for installing the x64 binary archive. You must choose the
correct binary archive that matches the processor type for your platform.

- `powershell-7.5.5-linux-arm32.tar.gz`
- `powershell-7.5.5-linux-arm64.tar.gz`
- `powershell-7.5.5-linux-x64.tar.gz`
- `powershell-7.6.1-linux-arm32.tar.gz`
- `powershell-7.6.1-linux-arm64.tar.gz`
- `powershell-7.6.1-linux-x64.tar.gz`

Use the following shell commands to download and install PowerShell from the `tar.gz` binary
archive. Change the URL to match the version of PowerShell you want to install.

```sh
# Download the powershell '.tar.gz' archive
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.5.5/powershell-7.5.5-linux-x64.tar.gz
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-x64.tar.gz

# Create the target folder where powershell will be placed
sudo mkdir -p /opt/microsoft/powershell/7
Expand Down
15 changes: 9 additions & 6 deletions reference/docs-conceptual/install/community-support.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: PowerShell can run on Linux distributions that aren't officially supported by Microsoft.
ms.date: 03/12/2026
ms.date: 04/21/2026
title: Community support for PowerShell on Linux
---
# Community support for PowerShell on Linux
Expand Down Expand Up @@ -81,12 +81,15 @@ Or you can install PowerShell on Raspberry Pi OS using the binary archives. Down
package from the [releases][09] page onto your Raspberry Pi computer. The links to the current
versions are:

- PowerShell 7.4 - latest LTS release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.14/powershell-7.4.14-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.14/powershell-7.4.14-linux-arm64.tar.gz`
- PowerShell 7.6 - latest LTS release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-arm64.tar.gz`
- PowerShell 7.5 - latest stable release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.5/powershell-7.5.5-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.5/powershell-7.5.5-linux-arm64.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.6/powershell-7.5.6-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.6/powershell-7.5.6-linux-arm64.tar.gz`
- PowerShell 7.4 - previous LTS release
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.15/powershell-7.4.15-linux-arm32.tar.gz`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.15/powershell-7.4.15-linux-arm64.tar.gz`

Use the following shell commands to download and install the package. This script detects whether
you're running a 32-bit or 64-bit OS and installs the latest stable version of PowerShell for that
Expand Down
10 changes: 5 additions & 5 deletions reference/docs-conceptual/install/install-alpine.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: How to install PowerShell on Alpine Linux
ms.date: 03/18/2026
ms.date: 04/21/2026
title: Install PowerShell 7 on Alpine Linux
---
# Install PowerShell 7 on Alpine Linux
Expand All @@ -19,9 +19,9 @@ with a previous version, reinstall the previous version using the [binary archiv
On Alpine Linux, PowerShell is installed from the `tar.gz` package downloaded from the
[releases][01] page. Select the URL of the package version you want to install.

- PowerShell 7.6 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.6.0/powershell-7.6.0-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.5.5/powershell-7.5.5-linux-musl-x64.tar.gz`
- PowerShell 7.4 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.4.14/powershell-7.4.14-linux-musl-x64.tar.gz`
- PowerShell 7.6 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-musl-x64.tar.gz`
- PowerShell 7.5 - `https://github.com/PowerShell/PowerShell/releases/download/v7.5.6/powershell-7.5.6-linux-musl-x64.tar.gz`
- PowerShell 7.4 (LTS) - `https://github.com/PowerShell/PowerShell/releases/download/v7.4.15/powershell-7.4.15-linux-musl-x64.tar.gz`

Use the following shell commands to install PowerShell 7:

Expand All @@ -48,7 +48,7 @@ apk -X https://dl-cdn.alpinelinux.org/alpine/edge/main add --no-cache \
openssh-client \

# Download the powershell '.tar.gz' archive
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.6.0/powershell-7.6.0-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz
curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell-7.6.1-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz

# Create the target folder where powershell will be placed
sudo mkdir -p /opt/microsoft/powershell/7
Expand Down
14 changes: 7 additions & 7 deletions reference/docs-conceptual/install/install-debian.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: How to install PowerShell on Debian Linux
ms.date: 03/31/2026
ms.date: 04/21/2026
title: Install PowerShell 7 on Debian
---
# Install PowerShell 7 on Debian
Expand Down Expand Up @@ -73,11 +73,11 @@ Download the universal package from the GitHub releases page. Choose the link fo
want to install.

- PowerShell 7.6 (LTS) universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.0/powershell_7.6.0-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell_7.6.1-1.deb_amd64.deb`
- PowerShell 7.5 universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.5/powershell_7.5.5-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.5.6/powershell_7.5.6-1.deb_amd64.deb`
- PowerShell 7.4 (LTS) universal package for supported versions of Debian
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.14/powershell_7.4.14-1.deb_amd64.deb`
- `https://github.com/PowerShell/PowerShell/releases/download/v7.4.15/powershell_7.4.15-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 All @@ -94,17 +94,17 @@ sudo apt-get update
sudo apt-get install -y wget

# Download the PowerShell package file
wget https://github.com/PowerShell/PowerShell/releases/download/v7.6.0/powershell_7.6.0-1.deb_amd64.deb
wget https://github.com/PowerShell/PowerShell/releases/download/v7.6.1/powershell_7.6.1-1.deb_amd64.deb

###################################
# Install the PowerShell package
sudo dpkg -i powershell_7.6.0-1.deb_amd64.deb
sudo dpkg -i powershell_7.6.1-1.deb_amd64.deb

# Resolve missing dependencies and finish the install (if necessary)
sudo apt-get install -f

# Delete the downloaded package file
rm powershell_7.6.0-1.deb_amd64.deb
rm powershell_7.6.1-1.deb_amd64.deb

# Start PowerShell
pwsh
Expand Down
Loading