Прежде всего вы захотите отделить ваше сообщение журнала от отметки времени:
$line = '2019-02-25 11:51:37.394 field1=data|field2=data|field3=data|...'
$date, $time, $msg = $line.Split(' ', 3)
например, вот так, когда вы обрабатываете файл журнала:
Get-Content "${dir}\${file}" | ForEach-Object {
$date, $time, $msg = $_.Split(' ', 3)
# ...
}
Свременная метка, с помощью которой вы можете обработать только сообщение, разделив его разделителями:
$msg.Split('|') | ForEach-Object {
$name, $value = $_.Split('=', 2)
}
В зависимости от фактического варианта использования вы можете использовать вышеприведенное для преобразования сообщения журнала в хеш-таблицу
$data = @{}
$msg.Split('|') | ForEach-Object {
$name, $value = $_.Split('=', 2)
$data[$name] = $value
}
, а затем использовать эту хеш-таблицу для дальнейшей обработки, например
if ($data['eventType'] -eq '59') {
# do some
} else {
# do other
}