All PowerShell Versions
When you parse text-based log files, or need to filter other types of information, you typically use Where-Object. Here are the common scenarios that illustrate how to combine filters:
# logical AND filter for ALL keywords Get-Content -Path C:\windows\WindowsUpdate.log | Where-Object { $_ -like '*successfully installed*' } | Where-Object { $_ -like '*framework*' } | Out-GridView # above example can also be written in one line # by using the -and operator # the resulting code is NOT faster, though, just harder to read Get-Content -Path C:\windows\WindowsUpdate.log | Where-Object { ($_ -like '*successfully installed*') -and ($_ -like '*framework*') } | Out-GridView # logical -or (either condition is met) can only be applied in one line Get-Content -Path C:\windows\WindowsUpdate.log | Where-Object { ($_ -like '*successfully installed*') -or ($_ -like '*framework*') } | Out-GridView