Jump to content

Win2003 logfile schreiben


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

Empfohlene Beiträge

Hallo thumb

 

nagut muss man nur beim Server neustart dran denken es wieder zu starten.. das ginge auch so, kommt ja nicht so häufig vor :)

kann das script denn erkennen wer und wann die datei erstellt und gelöscht wurde? in der msgbox erscheint ja nur das etwas passiert ist

und das ganze dann noch in eine txt file reinschreibt (man ich brauch mal eine scripting Schulung :( )

Link zu diesem Kommentar

Hallo flixs,

 

ich habe Dir das Script abgeändert, sodass statt MsgBox ein Log geschrieben wird:

 

strComputer = "."

myName = WScript.ScriptFullName

myPath = Left(myName, InStrRev(myName, "\"))

 

myLog = myPath & "MonitorFiles.log"

 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

 

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _

("SELECT * FROM __InstanceOperationEvent WITHIN 10 WHERE " _

& "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _

& "TargetInstance.GroupComponent= " _

& "'Win32_Directory.Name=""c:\\\\TEST""'")

 

Do While TRUE

Set objEventObject = colMonitoredEvents.NextEvent()

 

Select Case objEventObject.Path_.Class

Case "__InstanceCreationEvent"

Call Log(myLog, "A new file was just created: " & _

objEventObject.TargetInstance.PartComponent)

Case "__InstanceDeletionEvent"

Call Log(myLog, "A file was just deleted: " & _

objEventObject.TargetInstance.PartComponent)

End Select

Loop

 

Sub Log(inLog, inToLog)

file = inLog

Const ForAppending = 8

 

Set fso = CreateObject("Scripting.FileSystemObject")

Set fi = fso.OpenTextFile(file, ForAppending, true)

fi.Write (inToLog)

'fi.WriteLine (inToLog)

Set fi = Nothing

 

End Sub

 

Inwieweit weitere Informationen, wie Username etc. angegeben werden können muss ich in der Objektbeschreibung nachgucken.

 

Gruß, thumb

 

PS: Ja, mach Dich schlau in Scripting, da braucht es nicht unbedingt ´ne Schulung, guck mal im MS Scripting Center: Script Center: Getting Started

 

Es lohnt sich, seit dem ich ein wenig scripten kann, ist das Leben leichter!

Link zu diesem Kommentar

ja da sagste was, ich habe bald 10jahre programiert, schulmäßig... und kann aber immer nur grundzüge oder quelltext anpassen/verstehen geht auch noch, aber selbst schreiben - no way.. da hab ich 2 linke Hände :)

 

in deinem Script fehlten eigtl auch nur noch 2 Dinge

- Zeilenumbruch am Ende eines Eintrags ;)

- und das User und Datum/Zeit erfasst werden

 

Datei wird ja angezeigt mit pfad, welche gelöscht wurde

Link zu diesem Kommentar

Hallo flixs,

 

wenn Du in der Subroutine

 

Sub Log(inLog, inToLog)

file = inLog

Const ForAppending = 8

 

Set fso = CreateObject("Scripting.FileSystemObject")

Set fi = fso.OpenTextFile(file, ForAppending, true)

fi.Write (inToLog)

'fi.WriteLine (inToLog)

Set fi = Nothing

 

End Sub

 

das Hochkomma vor 'fi.WriteLine (inToLog) entfernst und fi.Write (inToLog) löschst, hast Du den Zeilenumbruch.

 

Wegen User etc. habe ich bisher nichts in der WMI Doku (MSDN) gefunden. Da Script ist zwar nett, aber irgendwie finde ich die Überwachung per Richtlinie fast geschickter, da musst Du keinen Dienst basteln. Ich habe mir LOGPARSER mal angesehen, wenn Du nach dem SELECT Statement nur die Spalten mit Komma getrennt angibst, die Dich interessieren haut es hin. Trotzdem guck ich noch nach dem WMI Objekt, kann aber ein wenig dauern.

 

Grüße, thumb

Link zu diesem Kommentar

LogParser.exe "Select TimeGenerated, TimeWritten, Computername, Strings into report.txt FROM Security Where EventID = 560"

 

damit haut es relativ gut hin, wobei mir das Strings zwar den Usernamen hergibt, allerdings auch das log aufbläßt indem es die ganzen Eindows strings und Codes mit ausgibt Strings/Benutzer wäre gut :)

 

habe mir überlegt, evtl reicht auch schon der Computername, da jeder seinen eigenen hat und der Name dann ja zuweisbar ist, aber username wäre noch eindeutiger

Link zu diesem Kommentar

TimeGenerated       TimeWritten         ComputerName Strings 
------------------- ------------------- ------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2007-10-09 14:49:29 2007-10-09 14:49:29 WINDOWSPC    Security|File|C:\Drivers\Neuer Ordner|2620|0|3793042|1504|C:\WINDOWS\explorer.exe|Administrator|WINDOWSPC|(0x0,0x98F7)|-|-|-|%%1537
		%%1538
		%%1541
		%%4423
		|-|0
2007-10-09 14:49:29 2007-10-09 14:49:29 WINDOWSPC    Security|File|C:\Drivers\Neuer Ordner|2620|0|3793056|1504|C:\WINDOWS\explorer.exe|Administrator|WINDOWSPC|(0x0,0x98F7)|-|-|-|%%1537
		%%1541
		%%4423
		|-|0
2007-10-09 14:52:49 2007-10-09 14:52:49 WINDOWSPC    Security|File|C:\Drivers\Kopie von Neu Bitmap.bmp|2580|0|3940519|1504|C:\WINDOWS\explorer.exe|Administrator|WINDOWSPC|(0x0,0x98F7)|-|-|-|%%1537
		%%1538
		%%1541
		%%4417
		%%4418
		%%4420
		%%4423
		%%4424

 

C:\programme\LogParser2.2\logparser.exe -resolveSIDs:ON "SELECT Timegenerated, timewritten, computername, Strings into c:\report.txt FROM Security WHERE EventID = 560"

 

die %%1538 etc sind Kennungen, kann man die noch excluden? dann wäre auch ein löschvorgang = 1 Zeile Text, Username steht ja dann hinten weiter

 

VIELEN DANK schonmal an euch, ohne Forum wäre ich echt aufgeschmissen :D

Link zu diesem Kommentar

TimeGenerated       ComputerName Strings 
------------------- ------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2007-10-09 14:49:29 WINDOWSPC    Security|File|C:\Drivers\Neuer Ordner|2620|0|3793042|1504|C:\WINDOWS\explorer.exe|Administrator|WINDOWSPC|(0x0,0x98F7)|-|-|-|%%1537
		%%1538
		%%1541
		%%4423
		|-|0
2007-10-09 14:49:29 WINDOWSPC    Security|File|C:\Drivers\Neuer Ordner|2620|0|3793056|1504|C:\WINDOWS\explorer.exe|Administrator|WINDOWSPC|(0x0,0x98F7)|-|-|-|%%1537
		%%1541
		%%4423
		|-|0

 

sieht relativ genauso aus

muss man den LogParser eigtl direkt auf dem Fileserver installieren oder kann man ihn auch von einem anderen PC öffnen aber die Evtlog vom Server abfragen

oder aber die abfrage von einem PC am Server

 

..will immer ungern etwas auf einem Server installieren..

 

PS: ah habs: Ordner freigeben und auf dem FS Server mounten und dann in der Konsole manuell hinnavigieren

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...