Updates from: 04/16/2021 03:21:05
Service Microsoft Docs article Related commit history on GitHub Change details
Microsoft.PowerShell.Core About Functions Advanced Parameters (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Core/About/about_Functions_Advanced_Parameters.md
description: Explains how to add parameters to advanced functions. keywords: powershell,cmdlet Locale: en-US Previously updated : 10/27/2020 Last updated : 04/14/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 Title: about_Functions_Advanced_Parameters
Param(
) ```
+> [!NOTE]
+> The `IValidateSetValuesGenerator` class was introduced in PowerShell 6.0
+ ### ValidateNotNull validation attribute The **ValidateNotNull** attribute specifies that the parameter value can't be
Microsoft.PowerShell.Management Test Connection (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Management/Test-Connection.md
Accept wildcard characters: False
Specifies the names of the computers where the ping originates. Enter a comma-separated list of computer names. The default is the local computer.
-**NOTE:** This parameter is not functional in PowerShell versions 6 and up.
-Supplying this parameter will have no effect on the command.
+> [!NOTE]
+> This parameter is not supported in PowerShell versions 6 and up. Supplying this parameter
+> causes an error.
```yaml Type: System.String
Microsoft.PowerShell.Security Convertfrom Securestring (7.0) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.0/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
When set, `ConvertFrom-SecureString` will convert secure strings to the decrypted plaintext string as output.
-This paramater was added in PowerShell 7.0.
+This parameter was added in PowerShell 7.0.
```yaml Type: System.Management.Automation.SwitchParameter
Microsoft.PowerShell.Core About Functions Advanced Parameters (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Core/About/about_Functions_Advanced_Parameters.md
description: Explains how to add parameters to advanced functions. keywords: powershell,cmdlet Locale: en-US Previously updated : 10/27/2020 Last updated : 04/14/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 Title: about_Functions_Advanced_Parameters
Param(
) ```
+> [!NOTE]
+> The `IValidateSetValuesGenerator` class was introduced in PowerShell 6.0
+ ### ValidateNotNull validation attribute The **ValidateNotNull** attribute specifies that the parameter value can't be
Microsoft.PowerShell.Core Foreach Object (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Core/ForEach-Object.md
runspaces from the runspace pool.
This parameter was introduced in PowerShell 7.1
-```yml
+```yaml
Type: SwitchParameter Parameter Sets: ParallelParameterSet Aliases:
Microsoft.PowerShell.Management Test Connection (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Management/Test-Connection.md
Accept wildcard characters: False
Specifies the names of the computers where the ping originates. Enter a comma-separated list of computer names. The default is the local computer.
-**NOTE:** This parameter is not functional in PowerShell versions 6 and up.
-Supplying this parameter will have no effect on the command.
+> [!NOTE]
+> This parameter is not supported in PowerShell versions 6 and up. Supplying this parameter
+> causes an error.
```yaml Type: System.String
Microsoft.PowerShell.Security Convertfrom Securestring (7.1) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.1/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
When set, `ConvertFrom-SecureString` will convert secure strings to the decrypted plaintext string as output.
-This paramater was added in PowerShell 7.0.
+This parameter was added in PowerShell 7.0.
```yaml Type: System.Management.Automation.SwitchParameter
Microsoft.PowerShell.Core About Functions Advanced Parameters (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Core/About/about_Functions_Advanced_Parameters.md
--- description: Explains how to add parameters to advanced functions. Locale: en-US Previously updated : 10/27/2020 Last updated : 04/14/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_functions_advanced_parameters?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 Title: about_Functions_Advanced_Parameters
Param(
) ```
+> [!NOTE]
+> The `IValidateSetValuesGenerator` class was introduced in PowerShell 6.0
+ ### ValidateNotNull validation attribute The **ValidateNotNull** attribute specifies that the parameter value can't be
Microsoft.PowerShell.Core Foreach Object (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Core/ForEach-Object.md
runspaces from the runspace pool.
This parameter was introduced in PowerShell 7.1
-```yml
+```yaml
Type: SwitchParameter Parameter Sets: ParallelParameterSet Aliases:
Microsoft.PowerShell.Management Test Connection (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Management/Test-Connection.md
Accept wildcard characters: False
Specifies the names of the computers where the ping originates. Enter a comma-separated list of computer names. The default is the local computer.
-**NOTE:** This parameter is not functional in PowerShell versions 6 and up.
-Supplying this parameter will have no effect on the command.
+> [!NOTE]
+> This parameter is not supported in PowerShell versions 6 and up. Supplying this parameter
+> causes an error.
```yaml Type: System.String
Microsoft.PowerShell.Security Convertfrom Securestring (7.2) https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/7.2/Microsoft.PowerShell.Security/ConvertFrom-SecureString.md
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
When set, `ConvertFrom-SecureString` will convert secure strings to the decrypted plaintext string as output.
-This paramater was added in PowerShell 7.0.
+This parameter was added in PowerShell 7.0.
```yaml Type: System.Management.Automation.SwitchParameter
PowerShell-Support-Lifecycle Powershell Support Lifecycle https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/docs-conceptual/PowerShell-Support-Lifecycle.md
The table below outlines the features that meet the servicing criteria and those
| Feature | Type | | ------------------------------------------ | ---------------- |
-| Execution Policy | Defense in Depth |
-| System Lockdown - with AppLocker | Defense in Depth |
-| Constrained language mode - with AppLocker | Defense in Depth |
| System Lockdown - with WDAC | Security Feature | | Constrained language mode - with WDAC | Security Feature |
+| System Lockdown - with AppLocker | Defense in Depth |
+| Constrained language mode - with AppLocker | Defense in Depth |
+| Execution Policy | Defense in Depth |
+
+> [!NOTE]
+> There is a corner-case scenario in AppLocker where you only have **Deny** rules and constrained
+> language mode is not used to enforce the policy that allowed you to bypass the execution policy.
+> Beginning in PowerShell 7.2, a change was made to ensure that AppLocker rules would take
+> precedence over a `Set-ExecutionPolicy -ExecutionPolicy Bypass` command.
For more information about AppLocker and Windows Defender Application Control (WDAC), see [Application Controls for Windows](/windows/security/threat-protection/windows-defender-application-control/windows-defender-application-control).
for historical reference. It is not intended for use to determine the support li
| Version | Release Date | Note | | ------------------------ | :----------: | --------------------------------------------------------------------------------------------------------------------------------------------- |
-| PowerShell 7.1 (current) | Nov-2020 | Built on .NET Core 5.0 (current). |
+| PowerShell 7.1 (current) | Nov-2020 | Built on .NET 5.0 (current). |
| PowerShell 7.0 (LTS) | Mar-2020 | Built on .NET Core 3.1 (LTS). | | PowerShell 6.2 | Mar-2019 | | | PowerShell 6.1 | Sep-2018 | Built on .NET Core 2.1. |
learn Experimental Features https://github.com/MicrosoftDocs/PowerShell-Docs/commits/staging/reference/docs-conceptual/learn/experimental-features.md
to decorate hyperlinks. Some terminal hosts, like the
[Windows Terminal](https://www.microsoft.com/p/windows-terminal/9n0dx20hk701), support this markup, which makes the rendered text clickable in the terminal.
+Support for ANSI escape sequences can be turned off using the **TERM** or **NO_COLOR** environment
+variables.
+
+The following values of `$env:TERM` change the behavior as follows:
+
+- `dumb` - set `$Host.UI.SupportsVirtualTerminal = $false`
+- `xterm-mono` - set `$PSStyle.OutputRendering = PlainText`
+- `xtermm` - set `$PSStyle.OutputRendering = PlainText`
+
+If `$env:NO_COLOR` exists, then sets `$PSStyle.OutputRendering = PlainText`. For more information,
+see [https://no-color.org/](https://no-color.org/).
+ ## PSAnsiProgress This experiment was added in PowerShell 7.2. The feature adds the `$PSStyle.Progress` member and
allows you to control progress view bar rendering.
- `$PSStyle.Progress.View` - An enum with values, `Minimal` and `Classic`. `Classic` is the existing rendering with no changes. `Minimal` is a single line minimal rendering. `Minimal` is the default.
+> [!NOTE]
+> If the host doesn't support Virtual Terminal, `$PSStyle.Progress.View` is automatically set to
+> `Classic`.
+ The following example updates the rendering style to a minimal progress bar. ```powershell