However, the fifth and sixth commands display the value of the Matches property of each object. When you display the value of the variables, the default display is identical, as shown in the example output. The output of the second command is saved in the $B variable. The second command is identical, except that it uses the AllMatches parameter. The output of the first command is saved in the $A variable.
#GREP IN POWERSHELL WINDOWS#
The first command in the example searches the Windows PowerShell conceptual Help files ("about" Help) for instances of the word "transcript". AllMatches finds all pattern matches in a line, instead of just finding the first match in each line. This example demonstrates the effect of the AllMatches parameter of Select-String. 0\en-us\about_: 39: Start-Transcript and Stop-Transcript. PS C:\> $BĬ:\Windows\system32\WindowsPowerShell\v1. PS C:\> $B = Get-ChildItem $pshome\en-us\about*.help.txt | Select-String -Pattern "transcript" -AllMatchesĬ:\Windows\system32\WindowsPowerShell\v1. Find all pattern matches: PS C:\> $A = Get-ChildItem $pshome\en-us\about*.help.txt | Select-String -Pattern "transcript".The context lines are stored in the Context property of the MatchInfo object. The output consists of two MatchInfo objects, one for each match detected. It uses array notation to indicate the first match (match 0 in a zero-based array), and it uses the Format-List cmdlet to display the value of the Context property as a list. The third command displays the lines stored in the Context property of the first MatchInfo object. The second command uses the Count property of object arrays to display the number of matches found, in this case, 2. The first command searches the Audit.Log file for the phrase "logon failed." It uses the Context parameter to capture 2 lines before the match and 3 lines after the match. Select-String [ -Encoding -Pattern "failed"