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
@@ -1,7 +1,7 @@
---
description: Variables that customize the behavior of PowerShell.
Locale: en-US
ms.date: 06/17/2024
ms.date: 12/01/2025
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-5.1&WT.mc_id=ps-gethelp
schema: 2.0.0
title: about_Preference_Variables
Expand All @@ -19,8 +19,8 @@ behavior. These preference variables work like the options in GUI-based
systems.

The preference variables affect the PowerShell operating environment and all
commands run in the environment. In many cases, the cmdlets have parameters
that you can use to override the preference behavior for a specific command.
commands run in the environment. Some cmdlets have parameters that allow you to
override the preference behavior for a specific command.

The following table lists the preference variables and their default values.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Variables that customize the behavior of PowerShell.
Locale: en-US
ms.date: 04/06/2024
ms.date: 12/01/2025
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.4&WT.mc_id=ps-gethelp
schema: 2.0.0
title: about_Preference_Variables
Expand Down Expand Up @@ -119,7 +119,8 @@ Cmdlets and functions are assigned a risk of **High**, **Medium**, or **Low**.
When the value of the `$ConfirmPreference` variable is less than or equal to
the risk assigned to a cmdlet or function, PowerShell automatically prompts you
for confirmation before running the cmdlet or function. For more information
about assigning a risk to cmdlets or functions, see [about_Functions_CmdletBindingAttribute][66].
about assigning a risk to cmdlets or functions, see
[about_Functions_CmdletBindingAttribute][66].

If the value of the `$ConfirmPreference` variable is **None**, PowerShell never
automatically prompts you before running a cmdlet or function.
Expand Down Expand Up @@ -167,11 +168,12 @@ Cmdlets and functions that might pose a risk to the system have a **Confirm**
parameter that you can use to request or suppress confirmation for a single
command.

Most cmdlets and functions keep the default value of **Medium** for **ConfirmImpact**.
`$ConfirmPreference` is set to **High** by default. Therefore, it's rare that commands
automatically prompt for confirmation when users don't specify the **Confirm** parameter.
To extend automatic confirmation prompting to more cmdlets and functions, set the value
of `$ConfirmPreference` to **Medium** or **Low**.
Most cmdlets and functions keep the default value of **Medium** for
**ConfirmImpact**. `$ConfirmPreference` is set to **High** by default.
Therefore, it's rare that commands automatically prompt for confirmation when
users don't specify the **Confirm** parameter. To extend automatic confirmation
prompting to more cmdlets and functions, set the value of `$ConfirmPreference`
to **Medium** or **Low**.

### Examples

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Variables that customize the behavior of PowerShell.
Locale: en-US
ms.date: 04/06/2024
ms.date: 12/01/2025
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.5&WT.mc_id=ps-gethelp
schema: 2.0.0
title: about_Preference_Variables
Expand Down Expand Up @@ -119,7 +119,8 @@ Cmdlets and functions are assigned a risk of **High**, **Medium**, or **Low**.
When the value of the `$ConfirmPreference` variable is less than or equal to
the risk assigned to a cmdlet or function, PowerShell automatically prompts you
for confirmation before running the cmdlet or function. For more information
about assigning a risk to cmdlets or functions, see [about_Functions_CmdletBindingAttribute][66].
about assigning a risk to cmdlets or functions, see
[about_Functions_CmdletBindingAttribute][66].

If the value of the `$ConfirmPreference` variable is **None**, PowerShell never
automatically prompts you before running a cmdlet or function.
Expand Down Expand Up @@ -167,11 +168,12 @@ Cmdlets and functions that might pose a risk to the system have a **Confirm**
parameter that you can use to request or suppress confirmation for a single
command.

Most cmdlets and functions keep the default value of **Medium** for **ConfirmImpact**.
`$ConfirmPreference` is set to **High** by default. Therefore, it's rare that commands
automatically prompt for confirmation when users don't specify the **Confirm** parameter.
To extend automatic confirmation prompting to more cmdlets and functions, set the value
of `$ConfirmPreference` to **Medium** or **Low**.
Most cmdlets and functions keep the default value of **Medium** for
**ConfirmImpact**. `$ConfirmPreference` is set to **High** by default.
Therefore, it's rare that commands automatically prompt for confirmation when
users don't specify the **Confirm** parameter. To extend automatic confirmation
prompting to more cmdlets and functions, set the value of `$ConfirmPreference`
to **Medium** or **Low**.

### Examples

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Variables that customize the behavior of PowerShell.
Locale: en-US
ms.date: 04/06/2024
ms.date: 12/01/2025
online version: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_preference_variables?view=powershell-7.6&WT.mc_id=ps-gethelp
schema: 2.0.0
title: about_Preference_Variables
Expand Down Expand Up @@ -119,7 +119,8 @@ Cmdlets and functions are assigned a risk of **High**, **Medium**, or **Low**.
When the value of the `$ConfirmPreference` variable is less than or equal to
the risk assigned to a cmdlet or function, PowerShell automatically prompts you
for confirmation before running the cmdlet or function. For more information
about assigning a risk to cmdlets or functions, see [about_Functions_CmdletBindingAttribute][66].
about assigning a risk to cmdlets or functions, see
[about_Functions_CmdletBindingAttribute][66].

If the value of the `$ConfirmPreference` variable is **None**, PowerShell never
automatically prompts you before running a cmdlet or function.
Expand Down Expand Up @@ -167,11 +168,12 @@ Cmdlets and functions that might pose a risk to the system have a **Confirm**
parameter that you can use to request or suppress confirmation for a single
command.

Most cmdlets and functions keep the default value of **Medium** for **ConfirmImpact**.
`$ConfirmPreference` is set to **High** by default. Therefore, it's rare that commands
automatically prompt for confirmation when users don't specify the **Confirm** parameter.
To extend automatic confirmation prompting to more cmdlets and functions, set the value
of `$ConfirmPreference` to **Medium** or **Low**.
Most cmdlets and functions keep the default value of **Medium** for
**ConfirmImpact**. `$ConfirmPreference` is set to **High** by default.
Therefore, it's rare that commands automatically prompt for confirmation when
users don't specify the **Confirm** parameter. To extend automatic confirmation
prompting to more cmdlets and functions, set the value of `$ConfirmPreference`
to **Medium** or **Low**.

### Examples

Expand Down
36 changes: 35 additions & 1 deletion reference/docs-conceptual/community/2025-updates.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: List of changes to the PowerShell documentation for 2025
ms.date: 11/06/2025
ms.date: 12/01/2025
title: What's New in PowerShell-Docs for 2025
---
# What's new in PowerShell Docs for 2025
Expand All @@ -13,6 +13,40 @@ get started.

<!-- Link references -->
[01]: contributing/overview.md
<!--------------------->

## 2025-November

Content updates

- Retired the Windows PowerShell Programmer's Guide
- 82 out-of-date articles moved to the
[archive](/previous-versions/powershell/scripting/developer/prog-guide/windows-powershell-programmer-s-guide)
site
- Retired the Windows PowerShell ISE Scripting Object Model
- 15 articles moved to the
[archive](/previous-versions/powershell/scripting/windows-powershell/ise/object-model/purpose-of-the-windows-powershell-ise-scripting-object-model)
site
- Refactored the instructions for installing PowerShell on Windows
- Split out instructions for
[Install PowerShell on Windows IoT and Nano Server](/powershell/scripting/install/install-powershell-on-windows-iot-nano)

GitHub stats

- 20 PRs merged (2 from Community)
- 34 issues opened (11 from Community)
- 32 issues closed (9 Community issues closed)

Top Community Contributors

The following people contributed to PowerShell docs this month by submitting pull requests or
filing issues. Thank you!

| GitHub Id | PRs merged | Issues opened |
| --------- | :--------: | :-----------: |
| alirobe | 1 | |
| sleggy | 1 | |
| iRon7 | | 2 |

## 2025-October

Expand Down
18 changes: 9 additions & 9 deletions reference/docs-conceptual/community/hall-of-fame.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: List of the GitHub users that have the most contributions to the PowerShell-Doc project.
ms.date: 11/06/2025
ms.date: 12/01/2025
title: Community contributor Hall of Fame
---
# Community Contributor Hall of Fame
Expand All @@ -17,7 +17,7 @@ Pull Requests help us fix those issues and make the documentation better for eve

| PRs Merged | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Grand Total |
| ------------------ | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ----------: |
| Community | 3 | 194 | 446 | 467 | 321 | 160 | 98 | 121 | 108 | 81 | 142 | 2141 |
| Community | 3 | 194 | 446 | 467 | 321 | 160 | 99 | 121 | 108 | 81 | 143 | 2143 |
| matt9ucci | | | 157 | 80 | 30 | 1 | 6 | | | | | 274 |
| nschonni | | | | 14 | 138 | 10 | | | | | | 162 |
| kiazhi | | 25 | 79 | 12 | | | | | | | | 116 |
Expand All @@ -38,28 +38,28 @@ Pull Requests help us fix those issues and make the documentation better for eve
| kvprasoon | | 2 | 1 | 7 | 2 | 2 | 2 | | | | | 16 |
| k-takai | | | | 5 | 1 | 7 | | | | | | 13 |
| purdo17 | | | | 13 | | | | | | | | 13 |
| exchange12rocks | | | 7 | 3 | | | 1 | | | | | 11 |
| PlagueHO | | 10 | | | 1 | | | | | | | 11 |
| bergmeister | | | 1 | 3 | 3 | 1 | 1 | 1 | 1 | | | 11 |
| PlagueHO | | 10 | | | 1 | | | | | | | 11 |
| exchange12rocks | | | 7 | 3 | | | 1 | | | | | 11 |

## GitHub issues opened

GitHub issues help us identify errors and gaps in our documentation.

| Issues Opened | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Grand Total |
| ------------------ | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ----------: |
| Community | 3 | 54 | 95 | 210 | 562 | 557 | 363 | 225 | 270 | 220 | 134 | 2693 |
| Community | 3 | 54 | 95 | 210 | 557 | 552 | 363 | 224 | 270 | 219 | 138 | 2685 |
| mklement0 | | | 19 | 60 | 56 | 61 | 28 | 8 | 20 | 24 | 2 | 278 |
| ehmiiz | | | | | | | | 20 | 14 | | | 34 |
| iSazonov | | | 1 | 4 | 10 | 8 | 4 | 3 | | 1 | | 31 |
| iRon7 | | | | | | 2 | 2 | 2 | 10 | 8 | 4 | 28 |
| iRon7 | | | | | | 2 | 2 | 2 | 10 | 8 | 5 | 29 |
| jszabo98 | | | | 2 | 15 | 6 | 1 | | 1 | 2 | | 27 |
| juvtib | | | | | | 15 | 7 | | | | | 22 |
| surfingoldelephant | | | | | | | | | | 6 | 15 | 21 |
| peetrike | | | | 1 | | 4 | 2 | 6 | 4 | 3 | 1 | 21 |
| doctordns | | | 5 | 3 | 5 | 7 | 1 | | | | | 21 |
| peetrike | | | | 1 | | 4 | 2 | 6 | 4 | 3 | | 20 |
| JustinGrote | | | | 1 | 3 | 6 | 1 | 1 | 2 | 2 | 2 | 18 |
| kilasuit | | | | | 3 | 2 | 1 | 4 | 1 | 3 | 4 | 18 |
| JustinGrote | | | | 1 | 3 | 6 | 1 | 1 | 2 | 2 | 2 | 18 |
| vexx32 | | | | 3 | 11 | | | 3 | | | | 17 |
| KirkMunro | | | | 7 | 7 | 1 | | | | | | 15 |
| alexandair | | 9 | 4 | 2 | | | | | | | | 15 |
Expand All @@ -71,7 +71,7 @@ GitHub issues help us identify errors and gaps in our documentation.
| CarloToso | | | | | | | | | 11 | | | 11 |
| Liturgist | | | | | 1 | 1 | 1 | 2 | 4 | 2 | | 11 |
| ArmaanMcleod | | | | | | | | | 4 | 6 | | 10 |
| vors | 1 | 6 | 2 | 1 | | | | | | | | 10 |
| UberKluger | | | | | | 1 | 7 | 2 | | | | 10 |
| vors | 1 | 6 | 2 | 1 | | | | | | | | 10 |
| matt9ucci | | | 2 | 5 | | | 2 | | 1 | | | 10 |
| LaurentDardenne | | | 3 | 2 | | | | 5 | | | | 10 |
38 changes: 19 additions & 19 deletions reference/docs-conceptual/learn/shell/running-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: >
This article shows how to run commands in PowerShell.
title: Running commands in the shell
ms.date: 11/21/2025
ms.date: 12/01/2025
---
# Running commands in the shell

Expand Down Expand Up @@ -70,17 +70,17 @@ adjust how you pass those strings.

For more information, see the following articles:

- [about_Parsing][1]
- [about_Quoting_Rules][2]
- [about_Parsing][03]
- [about_Quoting_Rules][06]

PowerShell 7.2 introduced a new experimental feature `PSNativeCommandArgumentPassing` that improved
native command handling. For more information, see [`$PSNativeCommandArgumentPassing`][3].
native command handling. For more information, see [`$PSNativeCommandArgumentPassing`][04].

### Handling output and errors

PowerShell also has several more output streams than other shells. The `bash` and `cmd.exe` shells
have **stdout** and **stderr**. PowerShell has six output streams. For more information, see
[about_Redirection][4] and [about_Output_Streams][5].
[about_Redirection][07] and [about_Output_Streams][02].

In general, the output sent to **stdout** by a native command is sent to the **Success** stream in
PowerShell. Output sent to **stderr** by a native command is sent to the **Error** stream in
Expand All @@ -98,8 +98,8 @@ behavior can cause confusion in PowerShell when looking through errors and the a
information can be lost if `$ErrorActionPreference` is set to a state that mutes the output.

PowerShell 7.3 added a new experimental feature `PSNativeCommandErrorActionPreference` that allows
you to control whether output to `stderr` is treated as an error. For more information, see
[`$PSNativeCommandUseErrorActionPreference`][6].
you to control how you handle non-zero exit codes from native commands. For more information, see
[`$PSNativeCommandUseErrorActionPreference`][05].

## Running PowerShell commands

Expand All @@ -112,7 +112,7 @@ the PowerShell scripting language itself.
The PowerShell **call operator** (`&`) lets you run commands that are stored in variables and
represented by strings or script blocks. You can use the operator to run any native command or
PowerShell command. This is useful in a script when you need to dynamically construct the
command-line parameters for a native command. For more information, see the [call operator][7].
command-line parameters for a native command. For more information, see the [call operator][01].

The `Start-Process` cmdlet can be used to run native commands, but should only be used when you need
to control how the command is executed. The cmdlet has parameters to support the following
Expand All @@ -136,7 +136,7 @@ $processOptions = @{
Start-Process @processOptions
```

For more information, see [Start-Process][8].
For more information, see [Start-Process][09].

On Windows, the `Invoke-Item` cmdlet performs the default action for the specified item. For
example, it runs an executable file or opens a document file using the application associated with
Expand All @@ -149,15 +149,15 @@ The following example opens the PowerShell source code repository in your defaul
Invoke-Item https://github.com/PowerShell/PowerShell
```

For more information, see [Invoke-Item][9].
For more information, see [Invoke-Item][08].

<!-- link references -->
[1]: /powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-to-native
[2]: /powershell/module/microsoft.powershell.core/about/about_quoting_rules
[3]: /powershell/module/microsoft.powershell.core/about/about_preference_variables#psnativecommandargumentpassing
[4]: /powershell/module/microsoft.powershell.core/about/about_redirection
[5]: /powershell/module/microsoft.powershell.core/about/about_output_streams
[6]: /powershell/module/microsoft.powershell.core/about/about_preference_variables#psnativecommanduseerroractionpreference
[7]: /powershell/module/microsoft.powershell.core/about/about_operators#call-operator-
[8]: /powershell/module/microsoft.powershell.management/start-process
[9]: /powershell/module/microsoft.powershell.management/invoke-item
[01]: /powershell/module/microsoft.powershell.core/about/about_operators#call-operator-
[02]: /powershell/module/microsoft.powershell.core/about/about_output_streams
[03]: /powershell/module/microsoft.powershell.core/about/about_parsing#passing-arguments-to-native
[04]: /powershell/module/microsoft.powershell.core/about/about_preference_variables#psnativecommandargumentpassing
[05]: /powershell/module/microsoft.powershell.core/about/about_preference_variables#psnativecommanduseerroractionpreference
[06]: /powershell/module/microsoft.powershell.core/about/about_quoting_rules
[07]: /powershell/module/microsoft.powershell.core/about/about_redirection
[08]: /powershell/module/microsoft.powershell.management/invoke-item
[09]: /powershell/module/microsoft.powershell.management/start-process