Jump to content

Eventlog Abholung unter Windws Server 2008?


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

Empfohlene Beiträge

Hallo zusammen,

 

Ich habe hier mehrere 100 Server von denen ich per VB-Script die Eventlogs abhole, und in spezielle Verzeichnisse kopiere.

Jetzt haben wir das Problem das wir die ersten Windows Server 2008 einsetzen, und dabei geht das Script nur noch teilweise. Es holt nur noch das Application und System log ab. Ich weiss das unter W2K8 die Events jetzt die Endung evtx haben.

 

Das Script was die Logs abholt sieht so aus:

 

 



strComputer = "localhost"
strDate = Date

Set objFSO = CreateObject("Scripting.FileSystemObject")
Rem Set objFolder = objFSO.CreateFolder("d:\eventlogs\events\")

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security,Backup)}!\\" & _
strComputer & "\root\cimv2")

Set colLogFilesA = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='Application'")

Set colLogFilesS = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='System'")

Set colLogFilesSec = objWMIService.ExecQuery _
("Select * from Win32_NTEventLogFile where LogFileName='Security'")

For Each objLogfile in colLogFilesA
errBackupLog = objLogFile.BackupEventLog("d:\eventlogs\events\application.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Application event log could not be backed up."
Else
objLogFile.ClearEventLog()
End If
Next

For Each objLogfile in colLogFilesS
errBackupLog = objLogFile.BackupEventLog("d:\eventlogs\events\system.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The System event log could not be backed up."
Else
objLogFile.ClearEventLog()
End If
Next

For Each objLogfile in colLogFilesSec
errBackupLog = objLogFile.BackupEventLog("d:\eventlogs\events\security.evt")
If errBackupLog <> 0 Then
Wscript.Echo "The Security event log could not be backed up."
Else
objLogFile.ClearEventLog()
End If
Next


[/Code]

 

 

 

kann mir dabei jemand helfen, ich habe zur Zeit einen Blackout in der Sache ?

 

Schönen Dank schon mal im vorraus

 

 

Karsten

Link zu diesem Kommentar

Hi Karsten

 

For Each objLogfile in colLogFilesSec

errBackupLog = objLogFile.BackupEventLog("d:\eventlogs\events\security.evt")

If errBackupLog <> 0 Then

Wscript.Echo "The Security event log could not be backed up."

Else

objLogFile.ClearEventLog()

End If

Next

 

Bekommst du in diesem Block einen Fehler zurück oder geht der vermeintlich sauber durch?

 

Gruß

Carsten

Link zu diesem Kommentar

Hi,

 

nein, ich bekomme weder eine Fehlermeldung noch macht der Server was im Script steht.

Es geht vermeindlich sauber durch, nur das er in dem angebenem Verzeichnis nicht reinschreibt...

 

@OLC:

mit lokalen Adminrechten wird das Script ausgeführt....

 

Genau das ist der Punkt: Du benötigst eine "elevated cmd", um das Security Eventlog überhaupt zu sehen - das ist nicht unbedingt gleichbedeutend mit normalen "Administrator"-Rechten. Wenn Du einmal die von Carsten angesprochene WMI Abfrage in dem gleichen Sicherheitskontext ausführst, wie Dein Script ausgeführt wird, dann wirst Du wahrscheinlich sehen, daß das Security Eventlog schlichtweg gar nicht angezeigt wird.

 

Daher werden auch die anderen Logs gesichert, das Security Eventlog jedoch nicht - würde zumindest zu meiner Vermutung passen. ;) :D

 

Versuche es einmal direkt am System, indem Du per Rechtsklick auf den "Command Prompt" --> "Run as Administrator" wählst. Dann landest Du in der "elevated cmd" und wirst das Script in dieser CMD aller Wahrscheinlichkeit nach korrekt ausführen können.

 

Davon einmal ab könntest Du noch eine Überprüfung einbauen, ob es sich bei dem Zielsystem um ein Vista / 2008 System handelt. Falls ja, speicherst Du die Eventlogs gleich mit der Dateiendung "EVTX" ab.

 

Viele Grüße

olc

Link zu diesem Kommentar
Hi,

 

 

Versuche es einmal direkt am System, indem Du per Rechtsklick auf den "Command Prompt" --> "Run as Administrator" wählst. Dann landest Du in der "elevated cmd" und wirst das Script in dieser CMD aller Wahrscheinlichkeit nach korrekt ausführen können.

 

Davon einmal ab könntest Du noch eine Überprüfung einbauen, ob es sich bei dem Zielsystem um ein Vista / 2008 System handelt. Falls ja, speicherst Du die Eventlogs gleich mit der Dateiendung "EVTX" ab.

 

Viele Grüße

olc

 

Das Script wird mit Domänen-Admin-Rechten ausgeführt.

Ich habe aber mal das Script in einer "elevated cmd" ausgeführt. Leider muß ich sagen, das das Ergebniss das selbe sit, sprich es wird kein security-Log gesichert, obwohl es aber als File im Windows Verzeichnis liegt.

 

Bye the way, was mir noch einfällt. es war auch nichtganz einfach das Security-Log unter W2K3 zu sichern, erst der Zusatz "....=impersonate,(Security,Backup)}!" in der 2ten Zeile meines Scriptes veranlasste W2K3 dazu mir auch das Security-Log zu sichern.....

 

Vielleicht hilft das ja weiter, ich habe so langsam keine Ideen mehr dazu.

 

 

Karsten

Link zu diesem Kommentar
Mal anders gedacht:

 

1. Windows Server 2008 bringt einen eigenen Dienst mit, der das Einsammeln von Events zentral ermöglicht

2. Vielleicht wäre auch das Einsammeln mit Log Parser eine Idee. Ich fand das immer viel einfacher als per WMI

 

Gruß, Nils

 

Hi Nils

 

Da ich die Umgebung in der sich Karsten bewegt aus der Historie ein wenig kenne, kann ich dir schonmal folgenden Fakt nennen, der Option 1 unmöglich macht:

momentan ist das noch ne komplett gemischte Umgebung, mit W2k3 und W2k8-Servern, evtl. dümpeln auch noch ein paar W2k-Server vor sich hin.

 

Und durch die Größe der Umgebung ist Variante 2 auch nicht unbedingt so toll. Lässt die sich überhaupt automatisieren?

 

 

mfg

Carsten

Link zu diesem Kommentar

Moin,

 

momentan ist das noch ne komplett gemischte Umgebung, mit W2k3 und W2k8-Servern, evtl. dümpeln auch noch ein paar W2k-Server vor sich hin.

 

ich meinte das auch nicht als vollständigen Ersatz, sondern als Ergänzung für die 2008-Server.

 

Und durch die Größe der Umgebung ist Variante 2 auch nicht unbedingt so toll. Lässt die sich überhaupt automatisieren?

 

Sagen wir es so: Ich habe damit ein automatisches Event-Monitoring in einer weltweiten Umgebung mit 20 Standorten, 30+ DCs und 20+ Exchange-Servern gemacht. Mit stündlich erzeugten Drill-Down-Reports in HTML und vielem mehr. Dazu braucht man kein Entwickler zu sein, und wenn man Log Parser einmal verstanden hat (was zugegebenermaßen ein wenig Liebe erfordert), kommt man schnell zu guten Ergebnissen.

 

Gruß, Nils

Link zu diesem Kommentar
Sagen wir es so: Ich habe damit ein automatisches Event-Monitoring in einer weltweiten Umgebung mit 20 Standorten, 30+ DCs und 20+ Exchange-Servern gemacht. Mit stündlich erzeugten Drill-Down-Reports in HTML und vielem mehr. Dazu braucht man kein Entwickler zu sein, und wenn man Log Parser einmal verstanden hat (was zugegebenermaßen ein wenig Liebe erfordert), kommt man schnell zu guten Ergebnissen.

 

Klingt spannend. Vielleicht kann man sich zu diesem Thema ja irgendwann mal noch etwas mehr Input in deinem Blog abholen? ;)

 

ich meinte das auch nicht als vollständigen Ersatz, sondern als Ergänzung für die 2008-Server

Auf der anderen Seite versteh ich auch das Bestreben nach "One For All".

Link zu diesem Kommentar

Hi,

 

einmal abgesehen davon, daß ich den Vorschlag gut finde, das gesamte Konzept zu überdenken... ;) :

 

Ich habe es gerade mal auf meiner VISTA Kiste getestet - bei mir wird wie besprochen nur in einer elevated cmd das Security Eventlog angezeigt. Jedoch kann ich weder das System- noch das Security Eventlog mit dem Script sichern. Nicht einmal mit SYSTEM-Rechten. Auch das Entfernen der Impersonation half nichts.

 

Die Methode ist jedoch auf jeden Fall korrekt, denn in der PowerShell funktioniert es für alle Logs problemlos:

 

PS C:\> $security = Get-WMIObject -query "Select * from Win32_NTEventLogFile where LogFileName='Security'"
PS C:\> $security.backupEventLog("d:\eventlogs\events\security.evtx")

 

Da ich kein VBScript Spezi bin, kann ich mit der Ursache nicht dienen. Ich würde weiterhin auf irgendwelche Rechteprobleme tippen (unter Umständen wird auch die impersonation unter Vista / 2008 anders gehandhabt).

 

Nimm die PowerShell. :D

 

Sorry und Gruß

olc

Link zu diesem Kommentar

Moin,

 

Klingt spannend. Vielleicht kann man sich zu diesem Thema ja irgendwann mal noch etwas mehr Input in deinem Blog abholen? ;)

 

ich plane das schon länger. Aber zum einen wird das ein aufwändiger Artikel (und je größer die Arbeit, desto länger schiebt man sie :rolleyes:) und zum anderen war das eine Kundenlösung, die ich noch abspecken und verändern müsste, um sie öffentlich zu machen. Kommt Zeit, kommt Rat. ;)

 

Gruß, Nils

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...