In Eventlogs Teilstrings aus der Message suchen
Hallo Zusammen,
ich beiße mir an einer Suchabfrage die Zähne aus ...
Ich möchte das System-Eventlog nach verschiedenen Event-Einträgen durchsuchen.
Diese Einträge beziehen sich auf das Message-Feld. Die zu suchenden Einträge sollen später durch ein Config-File bestimmt werden.
In diesem Beispiel "verdrahte" ich 2 Beispiel Suchbegriffe in einem Array.
Wie muss ich das Array gestalten, um eine flexible Abfrage wie oben erstellen zu können?
Oder wie muss ich die Abfrage stellen?
Manuell klappt eine einzelne Abfrage ...
Danke für die Hilfe!
Feuerstein08
ich beiße mir an einer Suchabfrage die Zähne aus ...
Ich möchte das System-Eventlog nach verschiedenen Event-Einträgen durchsuchen.
Diese Einträge beziehen sich auf das Message-Feld. Die zu suchenden Einträge sollen später durch ein Config-File bestimmt werden.
In diesem Beispiel "verdrahte" ich 2 Beispiel Suchbegriffe in einem Array.
# Das Array (hier nicht aus einer Datei erstellt):
$Mess = "The time service"
$Mess += "The time provider"
#Die Abfrage
Get-EventLog -LogName system | where {$_.Message -match $Mess}
Wie muss ich das Array gestalten, um eine flexible Abfrage wie oben erstellen zu können?
Oder wie muss ich die Abfrage stellen?
Manuell klappt eine einzelne Abfrage ...
get-eventlog -logname system |where {$_.Message -match "WinHTTP Web Proxy Auto-Discovery Service service was"}
Danke für die Hilfe!
Feuerstein08
Please also mark the comments that contributed to the solution of the article
Content-Key: 119227
Url: https://administrator.de/contentid/119227
Printed on: April 19, 2024 at 03:04 o'clock
2 Comments
Latest comment
Zitat von @Feuerstein08:
In diesem Beispiel "verdrahte" ich 2 Beispiel Suchbegriffe in einem Array.
Das ist kein Array, sondern nur ein angehängter String,In diesem Beispiel "verdrahte" ich 2 Beispiel Suchbegriffe in einem Array.
> # Das Array (hier nicht aus einer Datei erstellt):
> $Mess = "The time service"
> $Mess += "The time provider"
>
> #Die Abfrage
> Get-EventLog -LogName system | where {$_.Message -match $Mess}
>
PS D:\test\posh> $Mess = "The time service"
PS D:\test\posh> $Mess += "The time provider"
PS D:\test\posh> $Mess
The time serviceThe time provider
PS D:\test\posh>
Für die Beispielswerte wäre eine Abfrage mit Wildcards für die Message ohne Where erheblich effezienter.
Get-EventLog -Log system -Mess "The time*"
Gruß
LotPings