diff --git a/reference/5.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md b/reference/5.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md index 2bc9c80740e2..713c48c935c0 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md +++ b/reference/5.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md @@ -1,7 +1,7 @@ --- description: Describes the operators that compare values in PowerShell. Locale: en-US -ms.date: 07/15/2021 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Comparison Operators @@ -385,6 +385,9 @@ scalar input, and the `-match` result is **True**, or the `-notmatch` result is If the regular expression contains capture groups, the `$Matches` contains additional keys for each group. +It is important to note that the `$Matches` hashtable contains only the first +occurrence of any matching pattern. + Example: ```powershell diff --git a/reference/5.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md b/reference/5.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md index 6109171ab07a..833caeab033f 100644 --- a/reference/5.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md +++ b/reference/5.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md @@ -1,7 +1,7 @@ --- description: Describes regular expressions in PowerShell. Locale: en-US -ms.date: 03/10/2020 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-5.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Regular Expressions @@ -27,7 +27,7 @@ has several operators and cmdlets that use regular expressions. You can read more about their syntax and usage at the links below. - [Select-String](xref:Microsoft.PowerShell.Utility.Select-String) -- [-match and -replace operators](about_Comparison_Operators.md) +- [-match and -replace operators](about_Comparison_Operators.md#matching-operators) - [-split](about_Split.md) - [switch statement with -regex option](about_Switch.md) @@ -40,7 +40,7 @@ shown above has a different way to force case sensitivity. | `switch` statement | use the `-casesensitive` option | | operators | prefix with **'c'** (`-cmatch`, `-csplit`, or `-creplace`) | -### Character literals +## Character literals A regular expression can be a literal character or a string. The expression causes the engine to match the text specified exactly. @@ -50,12 +50,12 @@ causes the engine to match the text specified exactly. 'book' -match 'oo' ``` -### Character classes +## Character classes While character literals work if you know the exact pattern, character classes allow you to be less specific. -#### Character groups +## Character groups `[character group]` allows you to match any number of characters one time, while `[^character group]` only matches characters NOT in the group. @@ -69,7 +69,7 @@ If your list of characters to match includes the hyphen character (`-`), it must be at the beginning or end of the list to distinguish it from a character range expression. -#### Character ranges +### Character ranges A pattern can also be a range of characters. The characters can be alphabetic `[A-Z]`, numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). @@ -79,7 +79,7 @@ numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). 42 -match '[0-9][0-9]' ``` -#### Numbers +### Numbers The `\d` character class will match any decimal digit. Conversely, `\D` will match any non-decimal digit. @@ -90,7 +90,7 @@ match any non-decimal digit. 'Server-01' -match 'Server-\d\d' ``` -#### Word characters +### Word characters The `\w` character class will match any word character `[a-zA-Z_0-9]`. To match any non-word character, use `\W`. @@ -101,7 +101,7 @@ any non-word character, use `\W`. 'Book' -match '\w' ``` -#### Wildcards +### Wildcards The period (`.`) is a wildcard character in regular expressions. It will match any character except a newline (`\n`). @@ -112,7 +112,7 @@ any character except a newline (`\n`). 'a1\ ' -match '....' ``` -#### Whitespace +### Whitespace Whitespace is matched using the `\s` character class. Any non-whitespace character is matched using `\S`. Literal space characters `' '` can also be @@ -124,7 +124,7 @@ used. ' - ' -match '\s- ' ``` -### Quantifiers +## Quantifiers Quantifiers control how many instances of each element should be present in the input string. @@ -176,7 +176,7 @@ optional. '111-222-3333' -match '\d{3}-\d{3}-\d{4}' ``` -### Anchors +## Anchors Anchors allow you to cause a match to succeed or fail based on the matches position within the input string. @@ -209,7 +209,7 @@ When using anchors in PowerShell, you should understand the difference between To read more about these options and how to use them, visit the [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference). -### Escaping characters +## Escaping characters The backslash (`\`) is used to escape characters so they aren't parsed by the regular expression engine. @@ -240,7 +240,7 @@ There`s a static method of the regex class that can escape text for you. > backslashes used in character classes. Be sure to only use it on the portion > of your pattern that you need to escape. -#### Other character escapes +### Other character escapes There are also reserved character escapes that you can use to match special character types. @@ -253,7 +253,7 @@ The following are a few commonly used character escapes: |`\n`|Matches a newline| |`\r`|Matches a carriage return| -### Groups, Captures, and Substitutions +## Groups, Captures, and Substitutions Grouping constructs separate an input string into substrings that can be captured or ignored. Grouped substrings are called subexpressions. By default @@ -262,7 +262,7 @@ them as well. A grouping construct is a regular expression surrounded by parentheses. Any text matched by the enclosed regular expression is captured. The following -example will break the input text into two capturing groups. +example breaks the input text into two capturing groups. ```powershell 'The last logged on user was CONTOSO\jsmith' -match '(.+was )(.+)' @@ -273,7 +273,9 @@ True ``` Use the `$Matches` **Hashtable** automatic variable to retrieve captured text. -The text representing the entire match is stored at key `0`. +The text representing the entire match is stored at key `0`. It is important to +note that the `$Matches` hashtable contains only the first occurrence of any +matching pattern. ```powershell $Matches.0 @@ -317,7 +319,7 @@ Name Value > Dog > ``` -#### Named Captures +### Named Captures By default, captures are stored in ascending numeric order, from left to right. You can also assign a **name** to a capturing group. This **name** becomes a @@ -376,7 +378,7 @@ N jsmith For more information, see [Grouping Constructs in Regular Expressions](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions). -#### Substitutions in Regular Expressions +### Substitutions in Regular Expressions Using the regular expressions with the `-replace` operator allows you to dynamically replace text using captured text. diff --git a/reference/7.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md b/reference/7.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md index 52ba082400d8..218de6136ae4 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md +++ b/reference/7.0/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md @@ -1,7 +1,7 @@ --- description: Describes the operators that compare values in PowerShell. Locale: en-US -ms.date: 07/15/2021 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Comparison Operators @@ -385,6 +385,9 @@ scalar input, and the `-match` result is **True**, or the `-notmatch` result is If the regular expression contains capture groups, the `$Matches` contains additional keys for each group. +It is important to note that the `$Matches` hashtable contains only the first +occurrence of any matching pattern. + Example: ```powershell diff --git a/reference/7.0/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md b/reference/7.0/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md index dda7b4a1dd58..a7d0e32cf71a 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md +++ b/reference/7.0/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md @@ -1,7 +1,7 @@ --- description: Different editions of PowerShell run on different underlying runtimes. Locale: en-US -ms.date: 03/28/2019 +ms.date: 11/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_powershell_editions?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: about PowerShell Editions @@ -53,20 +53,17 @@ $PSVersionTable ``` ```Output - Name Value ---- ----- -PSVersion 7.2.0 +PSVersion 7.0.8 PSEdition Core -GitCommitId 7.2.0 +GitCommitId 7.0.8 OS Microsoft Windows 10.0.19043 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0 - - ``` The **PSEdition** field has the same value as the `$PSEdition` automatic variable. @@ -223,9 +220,9 @@ you use that are affected by edition compatibility. Generally, scripts that work in PowerShell 6.1 and above will work with Windows PowerShell 5.1, but there are some exceptions. -Version 1.18.0 [PSScriptAnalyzer][pssa] module has rules like [PSUseCompatibleCommands][psucc] and -[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands -and .NET APIs in PowerShell scripts. +[PSScriptAnalyzer][pssa] version 1.18+ has rules like [PSUseCompatibleCommands][psucc] and +[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands and +.NET APIs in PowerShell scripts. ### .NET assemblies @@ -244,8 +241,8 @@ to catch possible behavioral differences between editions. For this you must sti - [Modules with compatible PowerShell Editions](/powershell/scripting/gallery/concepts/module-psedition-support) [Pester]: https://github.com/pester/Pester/wiki/Pester -[pssa]: https://github.com/PowerShell/PSScriptAnalyzer -[psucc]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleCommands.md -[psuct]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleTypes.md +[pssa]: https://www.powershellgallery.com/packages/PSScriptAnalyzer/ +[psucc]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatiblecommands +[psuct]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatibletypes [netstd]: /dotnet/standard/net-standard [psstd]: https://devblogs.microsoft.com/powershell/powershell-standard-library-build-single-module-that-works-across-windows-powershell-and-powershell-core/ diff --git a/reference/7.0/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md b/reference/7.0/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md index 7db41416f254..9750ff544e56 100644 --- a/reference/7.0/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md +++ b/reference/7.0/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md @@ -1,7 +1,7 @@ --- description: Describes regular expressions in PowerShell. Locale: en-US -ms.date: 03/10/2020 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-7&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Regular Expressions @@ -27,7 +27,7 @@ has several operators and cmdlets that use regular expressions. You can read more about their syntax and usage at the links below. - [Select-String](xref:Microsoft.PowerShell.Utility.Select-String) -- [-match and -replace operators](about_Comparison_Operators.md) +- [-match and -replace operators](about_Comparison_Operators.md#matching-operators) - [-split](about_Split.md) - [switch statement with -regex option](about_Switch.md) @@ -40,7 +40,7 @@ shown above has a different way to force case sensitivity. | `switch` statement | use the `-casesensitive` option | | operators | prefix with **'c'** (`-cmatch`, `-csplit`, or `-creplace`) | -### Character literals +## Character literals A regular expression can be a literal character or a string. The expression causes the engine to match the text specified exactly. @@ -50,12 +50,12 @@ causes the engine to match the text specified exactly. 'book' -match 'oo' ``` -### Character classes +## Character classes While character literals work if you know the exact pattern, character classes allow you to be less specific. -#### Character groups +## Character groups `[character group]` allows you to match any number of characters one time, while `[^character group]` only matches characters NOT in the group. @@ -69,7 +69,7 @@ If your list of characters to match includes the hyphen character (`-`), it must be at the beginning or end of the list to distinguish it from a character range expression. -#### Character ranges +### Character ranges A pattern can also be a range of characters. The characters can be alphabetic `[A-Z]`, numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). @@ -79,7 +79,7 @@ numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). 42 -match '[0-9][0-9]' ``` -#### Numbers +### Numbers The `\d` character class will match any decimal digit. Conversely, `\D` will match any non-decimal digit. @@ -90,7 +90,7 @@ match any non-decimal digit. 'Server-01' -match 'Server-\d\d' ``` -#### Word characters +### Word characters The `\w` character class will match any word character `[a-zA-Z_0-9]`. To match any non-word character, use `\W`. @@ -101,7 +101,7 @@ any non-word character, use `\W`. 'Book' -match '\w' ``` -#### Wildcards +### Wildcards The period (`.`) is a wildcard character in regular expressions. It will match any character except a newline (`\n`). @@ -112,7 +112,7 @@ any character except a newline (`\n`). 'a1\ ' -match '....' ``` -#### Whitespace +### Whitespace Whitespace is matched using the `\s` character class. Any non-whitespace character is matched using `\S`. Literal space characters `' '` can also be @@ -124,7 +124,7 @@ used. ' - ' -match '\s- ' ``` -### Quantifiers +## Quantifiers Quantifiers control how many instances of each element should be present in the input string. @@ -176,7 +176,7 @@ optional. '111-222-3333' -match '\d{3}-\d{3}-\d{4}' ``` -### Anchors +## Anchors Anchors allow you to cause a match to succeed or fail based on the matches position within the input string. @@ -209,7 +209,7 @@ When using anchors in PowerShell, you should understand the difference between To read more about these options and how to use them, visit the [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference). -### Escaping characters +## Escaping characters The backslash (`\`) is used to escape characters so they aren't parsed by the regular expression engine. @@ -240,7 +240,7 @@ There`s a static method of the regex class that can escape text for you. > backslashes used in character classes. Be sure to only use it on the portion > of your pattern that you need to escape. -#### Other character escapes +### Other character escapes There are also reserved character escapes that you can use to match special character types. @@ -253,7 +253,7 @@ The following are a few commonly used character escapes: |`\n`|Matches a newline| |`\r`|Matches a carriage return| -### Groups, Captures, and Substitutions +## Groups, Captures, and Substitutions Grouping constructs separate an input string into substrings that can be captured or ignored. Grouped substrings are called subexpressions. By default @@ -262,7 +262,7 @@ them as well. A grouping construct is a regular expression surrounded by parentheses. Any text matched by the enclosed regular expression is captured. The following -example will break the input text into two capturing groups. +example breaks the input text into two capturing groups. ```powershell 'The last logged on user was CONTOSO\jsmith' -match '(.+was )(.+)' @@ -273,7 +273,9 @@ True ``` Use the `$Matches` **Hashtable** automatic variable to retrieve captured text. -The text representing the entire match is stored at key `0`. +The text representing the entire match is stored at key `0`. It is important to +note that the `$Matches` hashtable contains only the first occurrence of any +matching pattern. ```powershell $Matches.0 @@ -317,7 +319,7 @@ Name Value > Dog > ``` -#### Named Captures +### Named Captures By default, captures are stored in ascending numeric order, from left to right. You can also assign a **name** to a capturing group. This **name** becomes a @@ -375,7 +377,7 @@ N jsmith For more information, see [Grouping Constructs in Regular Expressions](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions). -#### Substitutions in Regular Expressions +### Substitutions in Regular Expressions Using the regular expressions with the `-replace` operator allows you to dynamically replace text using captured text. diff --git a/reference/7.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md b/reference/7.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md index de8f85472d4c..3ad735ef8dc0 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md +++ b/reference/7.1/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md @@ -1,8 +1,8 @@ --- description: Describes the operators that compare values in PowerShell. Locale: en-US -ms.date: 07/15/2021 -online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-5.1&WT.mc_id=ps-gethelp +ms.date: 11/02/2021 +online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Comparison Operators --- @@ -385,6 +385,9 @@ scalar input, and the `-match` result is **True**, or the `-notmatch` result is If the regular expression contains capture groups, the `$Matches` contains additional keys for each group. +It is important to note that the `$Matches` hashtable contains only the first +occurrence of any matching pattern. + Example: ```powershell diff --git a/reference/7.1/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md b/reference/7.1/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md index 32b2c7ec6bf8..381c1ec81df8 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md +++ b/reference/7.1/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md @@ -1,7 +1,7 @@ --- description: Different editions of PowerShell run on different underlying runtimes. Locale: en-US -ms.date: 03/28/2019 +ms.date: 11/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_powershell_editions?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about PowerShell Editions @@ -55,9 +55,9 @@ $PSVersionTable ```Output Name Value ---- ----- -PSVersion 7.1.4 +PSVersion 7.1.5 PSEdition Core -GitCommitId 7.1.4 +GitCommitId 7.1.5 OS Microsoft Windows 10.0.19043 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} @@ -66,7 +66,7 @@ SerializationVersion 1.1.0.1 WSManStackVersion 3.0 ``` -The `PSEdition` field will have the same value as the `$PSEdition` automatic variable. +The **PSEdition** field has the same value as the `$PSEdition` automatic variable. ## The `CompatiblePSEditions` module manifest field @@ -220,9 +220,9 @@ you use that are affected by edition compatibility. Generally, scripts that work in PowerShell 6.1 and above will work with Windows PowerShell 5.1, but there are some exceptions. -Version 1.18.0 [PSScriptAnalyzer][pssa] module has rules like [PSUseCompatibleCommands][psucc] and -[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands -and .NET APIs in PowerShell scripts. +[PSScriptAnalyzer][pssa] version 1.18+ has rules like [PSUseCompatibleCommands][psucc] and +[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands and +.NET APIs in PowerShell scripts. ### .NET assemblies @@ -241,8 +241,8 @@ to catch possible behavioral differences between editions. For this you must sti - [Modules with compatible PowerShell Editions](/powershell/scripting/gallery/concepts/module-psedition-support) [Pester]: https://github.com/pester/Pester/wiki/Pester -[pssa]: https://github.com/PowerShell/PSScriptAnalyzer -[psucc]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleCommands.md -[psuct]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleTypes.md +[pssa]: https://www.powershellgallery.com/packages/PSScriptAnalyzer/ +[psucc]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatiblecommands +[psuct]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatibletypes [netstd]: /dotnet/standard/net-standard [psstd]: https://devblogs.microsoft.com/powershell/powershell-standard-library-build-single-module-that-works-across-windows-powershell-and-powershell-core/ diff --git a/reference/7.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md b/reference/7.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md index 678492076729..9b71f1293670 100644 --- a/reference/7.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md +++ b/reference/7.1/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md @@ -1,7 +1,7 @@ --- description: Describes regular expressions in PowerShell. Locale: en-US -ms.date: 03/10/2020 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-7.1&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Regular Expressions @@ -27,7 +27,7 @@ has several operators and cmdlets that use regular expressions. You can read more about their syntax and usage at the links below. - [Select-String](xref:Microsoft.PowerShell.Utility.Select-String) -- [-match and -replace operators](about_Comparison_Operators.md) +- [-match and -replace operators](about_Comparison_Operators.md#matching-operators) - [-split](about_Split.md) - [switch statement with -regex option](about_Switch.md) @@ -40,7 +40,7 @@ shown above has a different way to force case sensitivity. | `switch` statement | use the `-casesensitive` option | | operators | prefix with **'c'** (`-cmatch`, `-csplit`, or `-creplace`) | -### Character literals +## Character literals A regular expression can be a literal character or a string. The expression causes the engine to match the text specified exactly. @@ -50,12 +50,12 @@ causes the engine to match the text specified exactly. 'book' -match 'oo' ``` -### Character classes +## Character classes While character literals work if you know the exact pattern, character classes allow you to be less specific. -#### Character groups +## Character groups `[character group]` allows you to match any number of characters one time, while `[^character group]` only matches characters NOT in the group. @@ -69,7 +69,7 @@ If your list of characters to match includes the hyphen character (`-`), it must be at the beginning or end of the list to distinguish it from a character range expression. -#### Character ranges +### Character ranges A pattern can also be a range of characters. The characters can be alphabetic `[A-Z]`, numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). @@ -79,7 +79,7 @@ numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). 42 -match '[0-9][0-9]' ``` -#### Numbers +### Numbers The `\d` character class will match any decimal digit. Conversely, `\D` will match any non-decimal digit. @@ -90,7 +90,7 @@ match any non-decimal digit. 'Server-01' -match 'Server-\d\d' ``` -#### Word characters +### Word characters The `\w` character class will match any word character `[a-zA-Z_0-9]`. To match any non-word character, use `\W`. @@ -101,7 +101,7 @@ any non-word character, use `\W`. 'Book' -match '\w' ``` -#### Wildcards +### Wildcards The period (`.`) is a wildcard character in regular expressions. It will match any character except a newline (`\n`). @@ -112,7 +112,7 @@ any character except a newline (`\n`). 'a1\ ' -match '....' ``` -#### Whitespace +### Whitespace Whitespace is matched using the `\s` character class. Any non-whitespace character is matched using `\S`. Literal space characters `' '` can also be @@ -124,7 +124,7 @@ used. ' - ' -match '\s- ' ``` -### Quantifiers +## Quantifiers Quantifiers control how many instances of each element should be present in the input string. @@ -176,7 +176,7 @@ optional. '111-222-3333' -match '\d{3}-\d{3}-\d{4}' ``` -### Anchors +## Anchors Anchors allow you to cause a match to succeed or fail based on the matches position within the input string. @@ -209,7 +209,7 @@ When using anchors in PowerShell, you should understand the difference between To read more about these options and how to use them, visit the [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference). -### Escaping characters +## Escaping characters The backslash (`\`) is used to escape characters so they aren't parsed by the regular expression engine. @@ -240,7 +240,7 @@ There`s a static method of the regex class that can escape text for you. > backslashes used in character classes. Be sure to only use it on the portion > of your pattern that you need to escape. -#### Other character escapes +### Other character escapes There are also reserved character escapes that you can use to match special character types. @@ -253,7 +253,7 @@ The following are a few commonly used character escapes: |`\n`|Matches a newline| |`\r`|Matches a carriage return| -### Groups, Captures, and Substitutions +## Groups, Captures, and Substitutions Grouping constructs separate an input string into substrings that can be captured or ignored. Grouped substrings are called subexpressions. By default @@ -262,7 +262,7 @@ them as well. A grouping construct is a regular expression surrounded by parentheses. Any text matched by the enclosed regular expression is captured. The following -example will break the input text into two capturing groups. +example breaks the input text into two capturing groups. ```powershell 'The last logged on user was CONTOSO\jsmith' -match '(.+was )(.+)' @@ -273,7 +273,9 @@ True ``` Use the `$Matches` **Hashtable** automatic variable to retrieve captured text. -The text representing the entire match is stored at key `0`. +The text representing the entire match is stored at key `0`. It is important to +note that the `$Matches` hashtable contains only the first occurrence of any +matching pattern. ```powershell $Matches.0 @@ -317,7 +319,7 @@ Name Value > Dog > ``` -#### Named Captures +### Named Captures By default, captures are stored in ascending numeric order, from left to right. You can also assign a **name** to a capturing group. This **name** becomes a @@ -375,7 +377,7 @@ N jsmith For more information, see [Grouping Constructs in Regular Expressions](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions). -#### Substitutions in Regular Expressions +### Substitutions in Regular Expressions Using the regular expressions with the `-replace` operator allows you to dynamically replace text using captured text. @@ -462,4 +464,3 @@ For more information, see [Substitutions in Regular Expressions](/dotnet/standar [about_Comparison_Operators](about_Comparison_Operators.md) [about_Operators](about_Operators.md) - diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md index 08335dae1cf3..a01574edad14 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_Comparison_Operators.md @@ -1,7 +1,7 @@ --- description: Describes the operators that compare values in PowerShell. Locale: en-US -ms.date: 07/15/2021 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Comparison Operators @@ -385,6 +385,9 @@ scalar input, and the `-match` result is **True**, or the `-notmatch` result is If the regular expression contains capture groups, the `$Matches` contains additional keys for each group. +It is important to note that the `$Matches` hashtable contains only the first +occurrence of any matching pattern. + Example: ```powershell diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md index 8b59efca42e0..4547b3cb5375 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_PowerShell_Editions.md @@ -1,7 +1,7 @@ --- description: Different editions of PowerShell run on different underlying runtimes. Locale: en-US -ms.date: 03/28/2019 +ms.date: 11/01/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_powershell_editions?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: about PowerShell Editions @@ -46,7 +46,7 @@ as the same as having the value `Desktop`. ### Edition in `$PSVersionTable` -The `$PSVersionTable` automatic variable also has edition information in PowerShell 5.1 and above: +The `$PSVersionTable` automatic variable also has **PSEdition** property in PowerShell 5.1 and above: ```powershell $PSVersionTable @@ -55,10 +55,10 @@ $PSVersionTable ```Output Name Value ---- ----- -PSVersion 6.2.0-rc.1 -PSEdition Core # <-- Edition information -GitCommitId 6.2.0-rc.1 -OS Microsoft Windows 10.0.18865 +PSVersion 7.2.0 +PSEdition Core +GitCommitId 7.2.0 +OS Microsoft Windows 10.0.19043 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} PSRemotingProtocolVersion 2.3 @@ -66,7 +66,7 @@ SerializationVersion 1.1.0.1 WSManStackVersion 3.0 ``` -The `PSEdition` field will have the same value as the `$PSEdition` automatic variable. +The **PSEdition** field has the same value as the `$PSEdition` automatic variable. ## The `CompatiblePSEditions` module manifest field @@ -220,9 +220,9 @@ you use that are affected by edition compatibility. Generally, scripts that work in PowerShell 6.1 and above will work with Windows PowerShell 5.1, but there are some exceptions. -Version 1.18.0 [PSScriptAnalyzer][pssa] module has rules like [PSUseCompatibleCommands][psucc] and -[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands -and .NET APIs in PowerShell scripts. +[PSScriptAnalyzer][pssa] version 1.18+ has rules like [PSUseCompatibleCommands][psucc] and +[PSUseCompatibleTypes][psuct] that are able to detect possibly incompatible usage of commands and +.NET APIs in PowerShell scripts. ### .NET assemblies @@ -241,8 +241,8 @@ to catch possible behavioral differences between editions. For this you must sti - [Modules with compatible PowerShell Editions](/powershell/scripting/gallery/concepts/module-psedition-support) [Pester]: https://github.com/pester/Pester/wiki/Pester -[pssa]: https://github.com/PowerShell/PSScriptAnalyzer -[psucc]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleCommands.md -[psuct]: https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleTypes.md +[pssa]: https://www.powershellgallery.com/packages/PSScriptAnalyzer/ +[psucc]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatiblecommands +[psuct]: /powershell/utility-modules/psscriptanalyzer/rules/usecompatibletypes [netstd]: /dotnet/standard/net-standard [psstd]: https://devblogs.microsoft.com/powershell/powershell-standard-library-build-single-module-that-works-across-windows-powershell-and-powershell-core/ diff --git a/reference/7.2/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md b/reference/7.2/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md index 4886972e8bc1..6cd4d6e3bd05 100644 --- a/reference/7.2/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md +++ b/reference/7.2/Microsoft.PowerShell.Core/About/about_Regular_Expressions.md @@ -1,7 +1,7 @@ --- description: Describes regular expressions in PowerShell. Locale: en-US -ms.date: 03/10/2020 +ms.date: 11/02/2021 online version: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_regular_expressions?view=powershell-7.2&WT.mc_id=ps-gethelp schema: 2.0.0 title: about Regular Expressions @@ -27,7 +27,7 @@ has several operators and cmdlets that use regular expressions. You can read more about their syntax and usage at the links below. - [Select-String](xref:Microsoft.PowerShell.Utility.Select-String) -- [-match and -replace operators](about_Comparison_Operators.md) +- [-match and -replace operators](about_Comparison_Operators.md#matching-operators) - [-split](about_Split.md) - [switch statement with -regex option](about_Switch.md) @@ -40,7 +40,7 @@ shown above has a different way to force case sensitivity. | `switch` statement | use the `-casesensitive` option | | operators | prefix with **'c'** (`-cmatch`, `-csplit`, or `-creplace`) | -### Character literals +## Character literals A regular expression can be a literal character or a string. The expression causes the engine to match the text specified exactly. @@ -50,12 +50,12 @@ causes the engine to match the text specified exactly. 'book' -match 'oo' ``` -### Character classes +## Character classes While character literals work if you know the exact pattern, character classes allow you to be less specific. -#### Character groups +## Character groups `[character group]` allows you to match any number of characters one time, while `[^character group]` only matches characters NOT in the group. @@ -69,7 +69,7 @@ If your list of characters to match includes the hyphen character (`-`), it must be at the beginning or end of the list to distinguish it from a character range expression. -#### Character ranges +### Character ranges A pattern can also be a range of characters. The characters can be alphabetic `[A-Z]`, numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). @@ -79,7 +79,7 @@ numeric `[0-9]`, or even ASCII-based `[ -~]` (all printable characters). 42 -match '[0-9][0-9]' ``` -#### Numbers +### Numbers The `\d` character class will match any decimal digit. Conversely, `\D` will match any non-decimal digit. @@ -90,7 +90,7 @@ match any non-decimal digit. 'Server-01' -match 'Server-\d\d' ``` -#### Word characters +### Word characters The `\w` character class will match any word character `[a-zA-Z_0-9]`. To match any non-word character, use `\W`. @@ -101,7 +101,7 @@ any non-word character, use `\W`. 'Book' -match '\w' ``` -#### Wildcards +### Wildcards The period (`.`) is a wildcard character in regular expressions. It will match any character except a newline (`\n`). @@ -112,7 +112,7 @@ any character except a newline (`\n`). 'a1\ ' -match '....' ``` -#### Whitespace +### Whitespace Whitespace is matched using the `\s` character class. Any non-whitespace character is matched using `\S`. Literal space characters `' '` can also be @@ -124,7 +124,7 @@ used. ' - ' -match '\s- ' ``` -### Quantifiers +## Quantifiers Quantifiers control how many instances of each element should be present in the input string. @@ -176,7 +176,7 @@ optional. '111-222-3333' -match '\d{3}-\d{3}-\d{4}' ``` -### Anchors +## Anchors Anchors allow you to cause a match to succeed or fail based on the matches position within the input string. @@ -209,7 +209,7 @@ When using anchors in PowerShell, you should understand the difference between To read more about these options and how to use them, visit the [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference). -### Escaping characters +## Escaping characters The backslash (`\`) is used to escape characters so they aren't parsed by the regular expression engine. @@ -240,7 +240,7 @@ There`s a static method of the regex class that can escape text for you. > backslashes used in character classes. Be sure to only use it on the portion > of your pattern that you need to escape. -#### Other character escapes +### Other character escapes There are also reserved character escapes that you can use to match special character types. @@ -253,7 +253,7 @@ The following are a few commonly used character escapes: |`\n`|Matches a newline| |`\r`|Matches a carriage return| -### Groups, Captures, and Substitutions +## Groups, Captures, and Substitutions Grouping constructs separate an input string into substrings that can be captured or ignored. Grouped substrings are called subexpressions. By default @@ -262,7 +262,7 @@ them as well. A grouping construct is a regular expression surrounded by parentheses. Any text matched by the enclosed regular expression is captured. The following -example will break the input text into two capturing groups. +example breaks the input text into two capturing groups. ```powershell 'The last logged on user was CONTOSO\jsmith' -match '(.+was )(.+)' @@ -273,7 +273,9 @@ True ``` Use the `$Matches` **Hashtable** automatic variable to retrieve captured text. -The text representing the entire match is stored at key `0`. +The text representing the entire match is stored at key `0`. It is important to +note that the `$Matches` hashtable contains only the first occurrence of any +matching pattern. ```powershell $Matches.0 @@ -317,7 +319,7 @@ Name Value > Dog > ``` -#### Named Captures +### Named Captures By default, captures are stored in ascending numeric order, from left to right. You can also assign a **name** to a capturing group. This **name** becomes a @@ -375,7 +377,7 @@ N jsmith For more information, see [Grouping Constructs in Regular Expressions](/dotnet/standard/base-types/grouping-constructs-in-regular-expressions). -#### Substitutions in Regular Expressions +### Substitutions in Regular Expressions Using the regular expressions with the `-replace` operator allows you to dynamically replace text using captured text. @@ -462,4 +464,3 @@ For more information, see [Substitutions in Regular Expressions](/dotnet/standar [about_Comparison_Operators](about_Comparison_Operators.md) [about_Operators](about_Operators.md) - diff --git a/reference/docs-conceptual/dev-cross-plat/performance/script-authoring-considerations.md b/reference/docs-conceptual/dev-cross-plat/performance/script-authoring-considerations.md index 25b655ce3469..add51f1274e2 100644 --- a/reference/docs-conceptual/dev-cross-plat/performance/script-authoring-considerations.md +++ b/reference/docs-conceptual/dev-cross-plat/performance/script-authoring-considerations.md @@ -1,6 +1,6 @@ --- description: Scripting for Performance in PowerShell -ms.date: 09/30/2021 +ms.date: 11/01/2021 title: PowerShell scripting performance considerations --- @@ -132,7 +132,8 @@ sense, many scripts use `Write-Host`. If you must write many messages to the console, `Write-Host` can be an order of magnitude slower than `[Console]::WriteLine()`. However, be aware that `[Console]::WriteLine()` is only a suitable alternative for specific hosts like `pwsh.exe`, `powershell.exe`, or `powershell_ise.exe`. It's not -guaranteed to work in all hosts. +guaranteed to work in all hosts. Also, output written using `[Console]::WriteLine()` does not get +written to transcripts started by `Start-Transcript`. Instead of using `Write-Host`, consider using [Write-Output](/powershell/module/Microsoft.PowerShell.Utility/Write-Output). diff --git a/reference/docs-conceptual/dsc/pull-server/pullServer.md b/reference/docs-conceptual/dsc/pull-server/pullServer.md index a2592b6bddb9..68d20a1e1c57 100644 --- a/reference/docs-conceptual/dsc/pull-server/pullServer.md +++ b/reference/docs-conceptual/dsc/pull-server/pullServer.md @@ -1,6 +1,6 @@ --- description: Local Configuration Manager (LCM) can be centrally managed by a Pull Service solution. When using this approach, the node that is being managed is registered with a service and assigned a configuration in LCM settings. -ms.date: 10/05/2021 +ms.date: 11/01/2021 title: DSC Pull Service --- @@ -104,7 +104,8 @@ To configure the pull server to use SQL Server, set **SqlProvider** to `$true` a [SqlClient Connection Strings](/dotnet/framework/data/adonet/connection-string-syntax#sqlclient-connection-strings). For an example of SQL Server configuration with **xDscWebService**, first read [Using the xDscWebService resource](#using-the-xdscwebservice-resource) and then review -[Sample_xDscWebServiceRegistration_UseSQLProvider.ps1 on GitHub](https://github.com/dsccommunity/xPSDesiredStateConfiguration/blob/master/source/Examples/Sample_xDscWebServiceRegistration_UseSQLProvider.ps1). +[2-xDscWebService_RegistrationUseSQLProvider_Config.ps1](https://github.com/dsccommunity/xPSDesiredStateConfiguration/blob/main/source/Examples/Resources/xDscWebService/2-xDscWebService_RegistrationUseSQLProvider_Config.ps1) +on GitHub. ### Using the xDscWebService resource diff --git a/reference/docs-conceptual/windows-powershell/install/Installing-Windows-PowerShell.md b/reference/docs-conceptual/windows-powershell/install/Installing-Windows-PowerShell.md index 5409ba55b2da..9cc416723e97 100644 --- a/reference/docs-conceptual/windows-powershell/install/Installing-Windows-PowerShell.md +++ b/reference/docs-conceptual/windows-powershell/install/Installing-Windows-PowerShell.md @@ -71,11 +71,11 @@ PowerShell. If you need to update your existing version of PowerShell, in Windows, use the following table to locate the installer for the version of PowerShell you want to update to. -| Windows | PS 3.0 | PS 4.0 | PS 5.0 | PS 5.1 | -| ---------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| Windows 10 (see Note1)
Windows Server 2016 | - | - | - | installed | -| Windows 8.1
Windows Server 2012 R2 | - | installed | [WMF 5.0](https://www.microsoft.com/download/details.aspx?id=50395) | [WMF 5.1](https://www.microsoft.com/download/details.aspx?id=54616) | -| Windows 8
Windows Server 2012 | installed | [WMF 4.0](https://www.microsoft.com/download/details.aspx?id=40855) | [WMF 5.0](https://www.microsoft.com/download/details.aspx?id=50395) | [WMF 5.1](https://www.microsoft.com/download/details.aspx?id=54616) | +| Windows | PS 3.0 | PS 4.0 | PS 5.0 | PS 5.1 | +| ---------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | +| Windows 10 (see Note1)
Windows Server 2016 | - | - | - | installed | +| Windows 8.1
Windows Server 2012 R2 | - | installed | [WMF 5.0](https://www.microsoft.com/download/details.aspx?id=50395) | [WMF 5.1](https://www.microsoft.com/download/details.aspx?id=54616) | +| Windows 8
Windows Server 2012 | installed | [WMF 4.0](https://www.microsoft.com/download/details.aspx?id=40855) | [WMF 5.0](https://www.microsoft.com/download/details.aspx?id=50395) | [WMF 5.1](https://www.microsoft.com/download/details.aspx?id=54616) | | Windows 7 SP1
Windows Server 2008 R2 SP1 | [WMF 3.0](https://www.microsoft.com/download/details.aspx?id=34595) | [WMF 4.0](https://www.microsoft.com/download/details.aspx?id=40855) | [WMF 5.0](https://www.microsoft.com/download/details.aspx?id=50395) | [WMF 5.1](https://www.microsoft.com/download/details.aspx?id=54616) | > [!NOTE] diff --git a/reference/docs-conceptual/windows-powershell/install/Installing-the-Windows-PowerShell-2.0-Engine.md b/reference/docs-conceptual/windows-powershell/install/Installing-the-Windows-PowerShell-2.0-Engine.md index ea77aee633fd..a10a56ab4d8e 100644 --- a/reference/docs-conceptual/windows-powershell/install/Installing-the-Windows-PowerShell-2.0-Engine.md +++ b/reference/docs-conceptual/windows-powershell/install/Installing-the-Windows-PowerShell-2.0-Engine.md @@ -1,6 +1,6 @@ --- description: The Windows PowerShell 2.0 Engine is an optional feature of Windows. This article explains how to install the feature and the necessary requirements. -ms.date: 10/07/2021 +ms.date: 11/01/2021 title: Installing the Windows PowerShell 2.0 Engine --- @@ -94,15 +94,15 @@ For information about starting the Windows PowerShell 2.0 Engine, see ## On Earlier Systems -The [Windows Management Framework 4.0](https://go.microsoft.com/fwlink/?LinkID=293881) package that -installs Windows PowerShell 4.0 on Windows 7, Windows Server 2008 R2, and Windows Server 2012, -includes the Windows PowerShell 2.0 Engine. The Windows PowerShell 2.0 Engine is enabled and ready -to use, if necessary, without additional installation, setup, or configuration. +The [Windows Management Framework 4.0](https://www.microsoft.com/download/details.aspx?id=40855) +package that installs Windows PowerShell 4.0 on Windows 7, Windows Server 2008 R2, and Windows +Server 2012, includes the Windows PowerShell 2.0 Engine. The Windows PowerShell 2.0 Engine is +enabled and ready to use, if necessary, without additional installation, setup, or configuration. -The Windows Management Framework 3.0 package that installs Windows PowerShell 3.0 on Windows 7, -Windows Server 2008 R2, and Windows Server 2008, includes the Windows PowerShell 2.0 Engine. The -Windows PowerShell 2.0 Engine is enabled and ready to use, if necessary, without additional -installation, setup, or configuration. +The [Windows Management Framework 3.0](https://www.microsoft.com/download/details.aspx?id=34595) +package that installs Windows PowerShell 3.0 on Windows 7, Windows Server 2008 R2, and Windows +Server 2008, includes the Windows PowerShell 2.0 Engine. The Windows PowerShell 2.0 Engine is +enabled and ready to use, if necessary, without additional installation, setup, or configuration. ## See Also diff --git a/reference/docs-conceptual/windows-powershell/install/Windows-PowerShell-System-Requirements.md b/reference/docs-conceptual/windows-powershell/install/Windows-PowerShell-System-Requirements.md index 42f6189748f8..49dc6fdf0693 100644 --- a/reference/docs-conceptual/windows-powershell/install/Windows-PowerShell-System-Requirements.md +++ b/reference/docs-conceptual/windows-powershell/install/Windows-PowerShell-System-Requirements.md @@ -74,13 +74,13 @@ install the specified version of the Windows Management Framework for your opera Windows PowerShell 3.0 runs on the following versions of Windows. To run Windows PowerShell 3.0, install the specified version of the Windows Management Framework for your operating system. -| Windows version | System requirement | -| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| Windows 8 | Installed by default | -| Windows Server 2012 | Installed by default | +| Windows version | System requirement | +| ------------------------------------------ | ---------------------------------------------------------------------------------------------------- | +| Windows 8 | Installed by default | +| Windows Server 2012 | Installed by default | | Windows 7 with Service Pack 1 | Install [Windows Management Framework 3.0](https://www.microsoft.com/download/details.aspx?id=34595) | | Windows Server 2008 R2 with Service Pack 1 | Install [Windows Management Framework 3.0](https://www.microsoft.com/download/details.aspx?id=34595) | -| Windows Server 2008 with Service Pack 2 | Install [Windows Management Framework 3.0](https://www.microsoft.com/download/details.aspx?id=34595) | +| Windows Server 2008 with Service Pack 2 | Install [Windows Management Framework 3.0](https://www.microsoft.com/download/details.aspx?id=34595) | ## Microsoft .NET Framework requirements diff --git a/reference/docs-conceptual/windows-powershell/ise/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md b/reference/docs-conceptual/windows-powershell/ise/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md index b57679f1781b..223e22248f8f 100644 --- a/reference/docs-conceptual/windows-powershell/ise/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md +++ b/reference/docs-conceptual/windows-powershell/ise/Keyboard-Shortcuts-for-the-Windows-PowerShell-ISE.md @@ -10,7 +10,7 @@ Use the following keyboard shortcuts to perform actions in Windows PowerShell&re Environment (ISE). Windows PowerShell ISE is available as part of the Windows Server and Windows client operating systems, but can also be installed on some older Windows operating systems as part of the -[Windows Management Framework 4.0 download package](https://go.microsoft.com/fwlink/?LinkID=293881). +[Windows Management Framework 4.0 download package](https://www.microsoft.com/download/details.aspx?id=40855). ## Keyboard shortcuts for editing text diff --git a/reference/docs-conceptual/windows-powershell/wmf/overview.md b/reference/docs-conceptual/windows-powershell/wmf/overview.md index ea06d32fd16d..49c2ed60bb67 100644 --- a/reference/docs-conceptual/windows-powershell/wmf/overview.md +++ b/reference/docs-conceptual/windows-powershell/wmf/overview.md @@ -1,6 +1,6 @@ --- description: WMF is a prerequisite for Windows PowerShell. This articles shows the history of WMF versions and provides information about how to find and install WMF. -ms.date: 10/07/2021 +ms.date: 11/02/2021 title: Windows Management Framework (WMF) --- @@ -27,10 +27,10 @@ WMF installation adds and/or updates the following features: To learn about various enhancements in PowerShell and other components of a given WMF, please refer to the links below to review the release notes: -- [WMF 5.1](whats-new/release-notes.md#wmf-51-changes) -- [WMF 5.0](whats-new/release-notes.md#wmf-50-changes) -- [WMF 4.0](https://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows%20Management%20Framework%204%200%20Release%20Notes.docx) -- [WMF 3.0](https://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/WMF%203%20Release%20Notes.docx) +- [WMF 5.1][wmf51rel] +- [WMF 5.0][wmf50rel] +- [WMF 4.0][wmf40rel] +- [WMF 3.0][wmf30rel] ## WMF Availability Across Windows Operating Systems @@ -61,8 +61,14 @@ to the links below to review the release notes: > [!NOTE] > The installer for WMF 5.0 is no longer available or supported. It has been replaced by WMF 5.1. + + [Lifecycle]: https://support.microsoft.com/lifecycle [WMF 5.1]: https://aka.ms/wmf51download [WMF 4.0]: https://aka.ms/wmf4download [WMF 3.0]: https://aka.ms/wmf3download [WMF 2.0]: https://aka.ms/wmf2download +[wmf51rel]: whats-new/release-notes.md#wmf-51-changes +[wmf50rel]: whats-new/release-notes.md#wmf-50-changes +[wmf40rel]: https://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows%20Management%20Framework%204%200%20Release%20Notes.docx +[wmf30rel]: https://download.microsoft.com/download/E/7/6/E76850B8-DA6E-4FF5-8CCE-A24FC513FD16/WMF%203%20Release%20Notes.docx diff --git a/reference/docs-conceptual/windows-powershell/wmf/whats-new/script-logging.md b/reference/docs-conceptual/windows-powershell/wmf/whats-new/script-logging.md index c048b566d191..1e978b12bc88 100644 --- a/reference/docs-conceptual/windows-powershell/wmf/whats-new/script-logging.md +++ b/reference/docs-conceptual/windows-powershell/wmf/whats-new/script-logging.md @@ -117,7 +117,7 @@ As with all logging systems that have a limited retention buffer, one way to att infrastructure is to flood the log with spurious events to hide earlier evidence. To protect yourself from this attack, ensure that you have some form of event log collection set up Windows Event Forwarding. For more information, see -[Spotting the Adversary with Windows Event Log Monitoring][report]. +[Use Azure Monitor to integrate with SIEM tools][SIEM]. -[report]: https://apps.nsa.gov/iaarchive/library/reports/spotting-the-adversary-with-windows-event-log-monitoring.cfm +[SIEM]: https://azure.microsoft.com/blog/use-azure-monitor-to-integrate-with-siem-tools/ diff --git a/reference/module/index.md b/reference/module/index.md index 32f4fa333039..dbaa153175fc 100644 --- a/reference/module/index.md +++ b/reference/module/index.md @@ -12,7 +12,7 @@ ms.manager: sewhee ms.product: powershell ms.topic: landing-page quickFilterColumn1: powershell-7.1,windowsserver2019-ps -quickFilterColumn2: azps-6.5.0,win-mdop2-ps +quickFilterColumn2: azps-6.6.0,win-mdop2-ps quickFilterColumn3: sqlserver-ps,systemcenter-ps-2019 title: PowerShell Module Browser ---