P
$Filter = '*yourpattern*'
$MaxEvents = '10000'
$evt = Get-WinEvent -ListLog * -ErrorAction SilentlyContinue | foreach {Get-WinEvent -LogName $_.logname -MaxEvents $MaxEvents -ErrorAction SilentlyContinue | where message -Like $Filter}
# ето чтобы выводить информацию из логов по одному
$lognames = $evt.LogName | sort | Get-Unique
$n = 0; $lognames["$n"] ; $evt | where logname -Like $lognames["$n"]