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
15 changes: 13 additions & 2 deletions reference/docfx.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
"docs-conceptual/samples/**/*.md": "sample",
"docs-conceptual/whats-new/**/*.md": "whats-new",
"docs-conceptual/windows-powershell/ise/*.md": "ui-reference",
"docs-conceptual/windows-powershell/ise/object-model/*.md": "reference"
},
"ms.update-cycle": {
"docs-conceptual/community/*-updates.md": "1825-days",
Expand All @@ -71,7 +70,19 @@
"docs-conceptual/samples/**": "3650-days",
"docs-conceptual/security/remoting/jea/**": "3650-days",
"docs-conceptual/whats-new/**": "1825-days",
"docs-conceptual/windows-powershell/**": "3650-days"
"docs-conceptual/windows-powershell/**": "3650-days",

"index.yml": "1825-days",
"docs-conceptual/discover-powershell.md": "1825-days",
"docs-conceptual/overview.md": "1825-days",
"docs-conceptual/powershell-commands.md": "1825-days",
"docs-conceptual/what-is-a-command-shell.md": "1825-days",
"docs-conceptual/what-is-windows-powershell.md": "1825-days",
"docs-conceptual/community/community-support.md": "1825-days",
"docs-conceptual/learn/glossary.md": "1825-days",
"docs-conceptual/install/installing-powershell.yml": "1825-days",
"docs-conceptual/security/overview.yml": "1825-days",
"module/index.md": "1825-days"
},
"products": {
"5.1/**/*": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: How to use PowerShell in a Docker image.
ms.date: 03/11/2025
ms.date: 11/21/2025
ms.devlang: powershell
title: Use PowerShell in Docker
---
Expand Down
21 changes: 9 additions & 12 deletions reference/docs-conceptual/install/PowerShell-on-ARM.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: PowerShell on Arm-based systems
ms.date: 08/28/2024
ms.date: 11/21/2025
title: PowerShell on Arm-based systems
---

Expand All @@ -13,17 +13,16 @@ the versions that have been tested.
It may be possible to use Arm-based versions of PowerShell on other Linux distributions and
versions, but we don't officially support it.

## PowerShell 7.4
## PowerShell 7

Arm versions of PowerShell 7.4 can be installed on the following platforms:
Arm versions of PowerShell 7 can be installed on the following platforms:

| OS | Architectures | Lifecycle |
| -------------------------------- | ------------- | -------------------------------------- |
| Windows 11 Client Version 22000+ | Arm64 | [Windows][05] |
| Windows 10 Client Version 1607+ | Arm64 | [Windows][05] |
| macOS | Arm64 | [macOS][04] |
| Raspberry Pi OS (Debian 12) | Arm32 | [Raspberry Pi OS][08] and [Debian][06] |
| Ubuntu 22.04, 20.04 | Arm32 | [Ubuntu][07] |
| Ubuntu 22.04 | Arm32 | [Ubuntu][07] |

Support is based on the [.NET 8.0 Supported OS Lifecycle Policy][03].

Expand All @@ -33,9 +32,8 @@ For installation instructions, see the following articles:

Windows

- [Windows 10 on Arm][13]
- [Windows 10 IoT Enterprise][12]
- [Windows 10 IoT Core][11]
- [Windows 11 on Arm][13]
- [Windows 11 IoT][11]

Linux - install from the binary archives

Expand All @@ -58,7 +56,6 @@ Raspberry Pi
[07]: https://wiki.ubuntu.com/Releases
[08]: https://www.raspberrypi.com/software/operating-systems/
[09]: install-other-linux.md#binary-archives
[10]: installing-powershell-on-macos.md
[11]: installing-powershell-on-windows.md#deploying-on-windows-10-iot-core
[12]: installing-powershell-on-windows.md#deploying-on-windows-10-iot-enterprise
[13]: installing-powershell-on-windows.md#installing-the-zip-package
[10]: install-powershell-on-macos.md
[11]: install-powershell-on-windows-iot-nano.md#deploy-on-windows-11-iot
[13]: install-powershell-on-windows.md#zip
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: This article lists the Linux distributions and package managers that are supported for installing PowerShell.
ms.date: 01/09/2023
ms.date: 11/21/2025
title: Install PowerShell on Linux
---
# Install PowerShell on Linux
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### YamlMime:FAQ
metadata:
ms.date: 02/20/2025
ms.date: 11/21/2025
title: Microsoft Update for PowerShell FAQ
description: Frequently asked questions about the using Microsoft Update to update PowerShell
ms.topic: faq
Expand Down
27 changes: 13 additions & 14 deletions reference/docs-conceptual/learn/experimental-features.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: Lists the currently available experimental features and how to use them.
ms.date: 01/23/2025
ms.date: 11/21/2025
title: Using Experimental Features in PowerShell
---
# Using Experimental Features in PowerShell
Expand Down Expand Up @@ -33,23 +33,22 @@ Get-ExperimentalFeature
```

```Output
Name Enabled Source Description
---- ------- ------ -----------
PSCommandNotFoundSuggestion False PSEngine Recommend potential commands based on fuzzy searc…
PSCommandWithArgs False PSEngine Enable `-CommandWithArgs` parameter for pwsh
PSFeedbackProvider True PSEngine Replace the hard-coded suggestion framework with …
PSLoadAssemblyFromNativeCode False PSEngine Expose an API to allow assembly loading from nati…
PSModuleAutoLoadSkipOfflineFiles True PSEngine Module discovery will skip over files that are ma…
PSSerializeJSONLongEnumAsNumber True PSEngine Serialize enums based on long or ulong as an nume…
PSSubsystemPluginModel True PSEngine A plugin model for registering and un-registering…
Name Enabled Source Description
---- ------- ------ -----------
PSFeedbackProvider True PSEngine Replace the hard-coded suggestion framework with the extensible feedb…
PSLoadAssemblyFromNativeCode False PSEngine Expose an API to allow assembly loading from native code
PSNativeWindowsTildeExpansion True PSEngine On windows, expand unquoted tilde (`~`) with the user's current home …
PSRedirectToVariable True PSEngine Add support for redirecting to the variable drive
PSSerializeJSONLongEnumAsNumber True PSEngine Serialize enums based on long or ulong as an numeric value rather tha…
PSSubsystemPluginModel True PSEngine A plugin model for registering and un-registering PowerShell subsyste…
```

Use the [Enable-ExperimentalFeature][18] and [Disable-ExperimentalFeature][17] cmdlets to enable or
disable a feature. You must start a new PowerShell session for this change to be in effect. Run the
following command to enable the `PSCommandNotFoundSuggestion` feature:

```powershell
Enable-ExperimentalFeature PSCommandNotFoundSuggestion
Enable-ExperimentalFeature PSFeedbackProvider
```

```Output
Expand Down Expand Up @@ -85,15 +84,15 @@ Legend
| Name | 7.4 | 7.5 | 7.6 (preview) |
| --------------------------------------------------- | :-----------------: | :-----------------: | :-----------------: |
| [PSCommandNotFoundSuggestion][06] | ![Experimental][02] | ![Mainstream][01] | ![Mainstream][01] |
| [PSCommandWithArgs][07] | ![Experimental][02] | ![Mainstream][01] | ![Mainstream][01] |
| [PSDesiredStateConfiguration.InvokeDscResource][08] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |
| [PSSubsystemPluginModel][15] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |
| [PSLoadAssemblyFromNativeCode][10] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |
| [PSFeedbackProvider][09] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |
| [PSLoadAssemblyFromNativeCode][10] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |
| [PSModuleAutoLoadSkipOfflineFiles][11] | ![Experimental][02] | ![Mainstream][01] | ![Mainstream][01] |
| [PSCommandWithArgs][07] | ![Experimental][02] | ![Mainstream][01] | ![Mainstream][01] |
| [PSNativeWindowsTildeExpansion][12] | | ![Experimental][02] | ![Experimental][02] |
| [PSRedirectToVariable][13] | | ![Experimental][02] | ![Experimental][02] |
| [PSSerializeJSONLongEnumAsNumber][14] | | ![Experimental][02] | ![Experimental][02] |
| [PSSubsystemPluginModel][15] | ![Experimental][02] | ![Experimental][02] | ![Experimental][02] |

### PSCommandNotFoundSuggestion

Expand Down
52 changes: 26 additions & 26 deletions reference/docs-conceptual/learn/more-powershell-learning.md
Original file line number Diff line number Diff line change
@@ -1,61 +1,61 @@
---
description: A list of resources for learning PowerShell and connecting with other PowerShell users.
ms.date: 08/18/2022
ms.date: 11/21/2025
title: PowerShell learning resources
---
# PowerShell learning resources

Additional resources for learning about PowerShell.

## Learn modules
## Learn training modules

Microsoft Learn is a free, online training platform that provides interactive learning for Microsoft
products and more. Our goal is to help you become proficient on our technologies and learn more
skills with fun, guided, hands-on, interactive content that's specific to your role and goals.

- [PowerShell modules][1]
- [PowerShell training][10]

## Blogs and community

In addition to the Help available at the command line, the following resources provide more
information for users who want to run PowerShell.

- [PowerShell Team Blog][2]. The best resource for learning directly from the PowerShell product
- [PowerShell Team Blog][12]. The best resource for learning directly from the PowerShell product
team.
- [PowerShell Community Blog][3] articles are scenario-driven. Written by the community, for the
- [PowerShell Community Blog][11] articles are scenario-driven. Written by the community, for the
community.
- Have questions about using PowerShell? Connect with hundreds of other people who have similar
interests in one of the many community forums listed on the [PowerShell Community][4] page.
interests in one of the many community forums listed on the [PowerShell Community][02] page.

### Microsoft Virtual Academy

The Microsoft Virtual Academy videos have been moved to Channel 9.

- [Getting Started with Microsoft PowerShell][5]
- [Advanced Tools & Scripting with PowerShell 3.0 Jump Start][6]
- [Testing PowerShell with Pester][7]
- [Getting Started with PowerShell Desired State Configuration (DSC)][8]
- [Advanced PowerShell DSC and Custom Resources][9]
- [SharePoint Automation with DSC][10]
- [Getting Started with Microsoft PowerShell][06]
- [Advanced Tools & Scripting with PowerShell 3.0 Jump Start][05]
- [Testing PowerShell with Pester][09]
- [Getting Started with PowerShell Desired State Configuration (DSC)][07]
- [Advanced PowerShell DSC and Custom Resources][04]
- [SharePoint Automation with DSC][08]

## Resources for PowerShell Developers

The following resources provide resources to help developers create their own PowerShell modules,
functions, cmdlets, providers, and hosting applications.

- [PowerShell SDK][11]
- [PowerShell SDK API Browser][12]
- [PowerShell SDK][03]
- [PowerShell SDK API Browser][01]

<!-- link references -->
[1]: /training/browse/?terms=PowerShell
[2]: https://devblogs.microsoft.com/powershell/
[3]: https://devblogs.microsoft.com/powershell-community/
[4]: /powershell/scripting/community/community-support
[5]: /shows/getting-started-with-microsoft-powershell/
[6]: /shows/advanced-tools-and-scripting-with-powershell-3.0-jump-start/
[7]: /shows/testing-powershell-with-pester/
[8]: /shows/getting-started-with-powershell-dsc/
[9]: /shows/advanced-powershell-dsc-and-custom-resources/
[10]: /shows/sharepoint-automation-with-dsc/
[11]: /powershell/scripting/developer/windows-powershell
[12]: /dotnet/api/system.management.automation
[01]: /dotnet/api/system.management.automation
[02]: /powershell/scripting/community/community-support
[03]: /powershell/scripting/developer/windows-powershell
[04]: /shows/advanced-powershell-dsc-and-custom-resources/
[05]: /shows/advanced-tools-and-scripting-with-powershell-3.0-jump-start/
[06]: /shows/getting-started-with-microsoft-powershell/
[07]: /shows/getting-started-with-powershell-dsc/
[08]: /shows/sharepoint-automation-with-dsc/
[09]: /shows/testing-powershell-with-pester/
[10]: /training/browse/?terms=PowerShell
[11]: https://devblogs.microsoft.com/powershell-community/
[12]: https://devblogs.microsoft.com/powershell/
51 changes: 25 additions & 26 deletions reference/docs-conceptual/learn/shell/creating-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: >
This article explains how to use your profile to save preferred PowerShell settings and optimize
your shell experience.
ms.date: 02/26/2025
ms.date: 11/21/2025
title: Customizing your shell environment
---
# Customizing your shell environment
Expand All @@ -22,7 +22,7 @@ on your system.
> [!NOTE]
> To run scripts in Windows, the PowerShell execution policy needs to be set to `RemoteSigned` at a
> minimum. Execution policies don't apply to macOS and Linux. For more information, see
> [about_Execution_Policy][1].
> [about_Execution_Policy][03].

## The $PROFILE variable

Expand Down Expand Up @@ -73,7 +73,7 @@ Console Host on Windows or the default terminal application on other platforms i
`Microsoft.PowerShell_profile.ps1`. For Visual Studio Code (VS Code), the filename is
`Microsoft.VSCode_profile.ps1`.

For more information, see [about_Profiles][2].
For more information, see [about_Profiles][05].

## How to create your personal profile

Expand All @@ -93,14 +93,14 @@ environment.

## Adding customizations to your profile

The previous articles talked about using [tab completion][3], [command predictors][4], and
[aliases][5]. These articles showed the commands used to load the required modules, create custom
completers, define key bindings, and other settings. These are the kinds of customizations that you
want to have available in every PowerShell interactive session. The profile script is the place for
these settings.
The previous articles talked about using [tab completion][09], [command predictors][11], and
[aliases][10]. These articles showed the commands used to load the required modules, create custom
completers, define key bindings, and other settings. These customizations are the kind that you want
to have available in every PowerShell interactive session. The profile script is the place for these
settings.

The simplest way to edit your profile script is to open the file in your favorite code editor. For
example, the following command opens the profile in [VS Code][6].
example, the following command opens the profile in [VS Code][08].

```powershell
code $PROFILE
Expand Down Expand Up @@ -177,24 +177,23 @@ Register-ArgumentCompleter -Native -CommandName dotnet -ScriptBlock $scriptblock

This profile script provides examples for the following customization:

- Adds two new [PSDrives][7] for the other root registry hives.
- Creates a [customized prompt][8] that changes if you're running in an elevated session.
- Configures **PSReadLine** and adds key binding. The color settings use the [$PSStyle][9] feature
- Adds two new [PSDrives][04] for the other root registry hives.
- Creates a [customized prompt][06] that changes if you're running in an elevated session.
- Configures **PSReadLine** and adds key binding. The color settings use the [$PSStyle][02] feature
to define the ANSI color settings.
- Adds tab completion for the [dotnet CLI][10] tool. The tool provides parameters to help resolve
the command-line arguments. The script block for [Register-ArgumentCompleter][11] uses that
- Adds tab completion for the [dotnet CLI][01] tool. The tool provides parameters to help resolve
the command-line arguments. The script block for [Register-ArgumentCompleter][07] uses that
feature to provide the tab completion.

<!-- link references -->

[1]: /powershell/module/microsoft.powershell.core/about/about_execution_policies
[2]: /powershell/module/microsoft.powershell.core/about/about_profiles
[3]: tab-completion.md
[4]: using-predictors.md
[5]: using-aliases.md
[6]: https://code.visualstudio.com/
[7]: /powershell/module/microsoft.powershell.core/about/about_filesystem_provider
[8]: /powershell/module/microsoft.powershell.core/about/about_prompts
[9]: /powershell/module/microsoft.powershell.core/about/about_ansi_terminals
[10]: /dotnet/core/tools/
[11]: /powershell/module/microsoft.powershell.core/register-argumentcompleter
[01]: /dotnet/core/tools/
[02]: /powershell/module/microsoft.powershell.core/about/about_ansi_terminals
[03]: /powershell/module/microsoft.powershell.core/about/about_execution_policies
[04]: /powershell/module/microsoft.powershell.core/about/about_filesystem_provider
[05]: /powershell/module/microsoft.powershell.core/about/about_profiles
[06]: /powershell/module/microsoft.powershell.core/about/about_prompts
[07]: /powershell/module/microsoft.powershell.core/register-argumentcompleter
[08]: https://code.visualstudio.com/
[09]: tab-completion.md
[10]: using-aliases.md
[11]: using-predictors.md
11 changes: 6 additions & 5 deletions reference/docs-conceptual/learn/shell/dynamic-help.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: This article explains how to use the dynamic help feature of PSReadLine.
title: Using dynamic help
ms.date: 03/24/2023
ms.date: 11/21/2025
---
# Using dynamic help

Expand Down Expand Up @@ -32,11 +32,12 @@ the fully expanded parameter name when you press the <kbd>Alt</kbd>+<kbd>h</kbd>

![Focused help for a parameter using Alt-h][02]

## Selecting arguments on the command line
## Select arguments on the command line

To quickly select and edit the arguments of a cmdlet without disturbing your syntax using
<kbd>Alt</kbd>+<kbd>a</kbd>. Based on the cursor position, it searches from the current cursor
position and stops when it finds any arguments on the command line.
To quickly select and edit the arguments of a cmdlet without disturbing your syntax, use
<kbd>Alt</kbd>+<kbd>a</kbd>. It searches from the current cursor position and stops when it finds
an argument on the command line. It selects the full argument, making it simple to replace or edit
the argument.

![Argument selection using Alt-A][03]

Expand Down
2 changes: 1 addition & 1 deletion reference/docs-conceptual/learn/shell/optimize-shell.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: >
This article provides an overview of the shell features that help users improve
their user experience.
title: Optimizing your shell experience
ms.date: 7/14/2022
ms.date: 11/21/2025
---
# Optimizing your shell experience

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: This article aims to guide you through methods to output from PowerShell in formats that are friendly for screen readers, enhancing the accessibility of your scripts.
ms.custom: experience
ms.date: 09/12/2024
ms.date: 11/21/2025
title: Improve the accessibility of output in PowerShell
---
# Improve the accessibility of output in PowerShell
Expand Down
Loading