Jump to content

Security Event-Log Abfrage mit Filter


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen.

 

Ich möchte das Security Event Log von unseren DCs Nach einem bestimmten Nutzer Filtern und in eine Tabelle exportieren.

 

Ich habe folgendes Script gefunden und etwas angepasst:

 

# +---------------------------------------------------------------------------

# | File : EventLogs.ps1

# | Version : 1.5

# | Purpose : Export Remote Event Logs to CSV.

# | Synopsis: Creates a CSV file containing all Errors and Warnings from the

# | "Application", "System" & "Operations Manager" Event Logs

# | Usage : .\EventLogs.ps1 -days NUMDAYS

# +----------------------------------------------------------------------------

# | Maintenance History

# | -------------------

# | Name Date Version Description

# | ------------------------------------------------------------------------------

# | Craig Wilson 25/11/2011 1.0 Initial Release

# | Craig Wilson 28/11/2011 1.1 Added '$store' variable for Log Location

# | Craig Wilson 28/11/2011 1.2 Added Help Infomration

# | Craig Wilson 28/11/2011 1.3 BUG FIX: added "-Credential $user" switch in for all logs

# | Craig Wilson 28/11/2011 1.4 Added filter for Events

# | Craig Wilson 01/12/2011 1.5* Added Array to loop through all servers in array and removed Paramter for servers.

# +-------------------------------------------------------------------------------

##################

## HELP SECTION ##

##################

<#

.SYNOPSIS

Script to export specific events from remote event logs to a CSV file

.DESCRIPTION

This script will read the event logs of the array of Servers and export all but

all relevant logs to a CSV File for the specified server over the period of history

requested at the command line.

Logs can be filtered by modifing the Query for the appropriate log..

.EXAMPLE

.\EventLogs.PS1 -days 7

.NOTES

Script may error if there are no events to record and will prompt for the password.

NO username or password information is stored by this script and nothing is written back

to the server.

#>

 

# Specify Command Line parameters

param([string]$days=$(throw "Days cannot be null"))

$servers = @("Server1", "Server2")

#Set namespace and calculate the date to start from

$namespace = "root\CIMV2"

$BeginDate=[system.Management.ManagementDateTimeConverter]::ToDMTFDateTime((get-date).AddDays(-$days))

$store = "C:\Logs" # No trailing slash, Folder must already exist

foreach ($computer in $servers)

{

get-wmiobject -query "Select * from Win32_NTLogEvent Where Logfile = 'Security' AND (TimeWritten > '$BeginDate')" -computername $computer | Export-Csv "$store\$computer-Security.csv"

}

 

 

Nun fehlen mir noch zwei Dinge:

 

1. Ich würde gerne nach einer bestimmten UserID oder SID filtern

2. Ich hätte das exportierte CSV gerne tabellarisch und es muss nicht alle Informationen enthalten

 

Habt Ihr eventuell ein paar Tipps für mich?

 

Tausend Dank und Gruss

Geschrieben

Hallo Micha,

 

danke für die Antwort. Ich mache dies auch schon, bei einigenZeilen bekommt CSV aber Probleme und Stellt falsch dar. Ich poste morgen mal den Code, den ich bis jetzt habe.

 

LG

Geschrieben

Wenn Du die WAN Bandbreite beachten musst, dann würde ich das nicht über WMI realisieren. Ich würde das eher über einen Remotejob machen.

 

$scriptblock = {get-eventlog -log security | ?{$_.message -match "Kontoname:*$Administrator" -and $_.eventid -eq 4771}}

invoke-command $scriptblock -computer SRV1 -asjob

 

Danach eine Warterunde im Skript mit start-sleep

Jetzt benötigst Du eine Schleife, die prüft ob alle Jobs den Status "completed" haben. Wenn das so ist, kannst Du die Ergebnisse abholen und verarbeiten.

 

Viele Grüße

 

Frank

Geschrieben

Hallo Frank,

 

danke für Deine Antwort. Mir sind die extrem langen Laufzeiten aufgefallen. Ich habe dies jetzt mit invoke-command gelöst.

Mein verbleibendes Problem ist noch die Darstellung in CSV.

 

Anbei ein Bild, damit Ihr wisst, was ich meine:

attachment.php?attachmentid=5959&stc=1&d=1329620913

 

Entschuldigt das Geschmiere. Mir werden beispielsweise alle Events mit der ID 4672 falsch dargestellt. Bei einigen weiteren Events besteht das gleiche Problem. Irgendwie klappt hier die CSV-Codierung nicht.

 

Vielen Dank und liebe Grüsse

post-52725-13567390091312_thumb.jpg

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...