Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eventlog - bestimmte Events exportieren und Eventlog leeren

Frage Microsoft Windows Server

Mitglied: Xaero1982

Xaero1982 (Level 4) - Jetzt verbinden

12.06.2014, aktualisiert 09:11 Uhr, 1558 Aufrufe, 8 Kommentare, 1 Danke

Moin Zusammen,

aufgrund eines ziemlichen GAUs (Ein unbekannter Nutzer hat die Daten aus einem Verzeichnis gelöscht) bin ich gezwungen die Überwachung einzustellen.
Da dieser Ordner einem ziemlichen Zugriff unterliegt hab ich es zunächst auch nur auf Löschvorgänge und Änderungen der Berechtigungen (da spielt auch immer jemand rum) beschränkt - dennoch viel.

Da ich sonst eigentlich nichts aus dem Security Eventlog benötige will ich ein mal am Tag das Eventlog löschen, aber zunächst sollen die relevanten Events extrahiert werden.

Die IDs sind:
4656
4658
4664
4660
4670

Die Events will ich in eine txt exportieren mit dem Datum versehen.

Anschließend soll das Security Log geleert werden.

Batch oder vbs wäre wünschenswert.

Hat da zufällig jemand was parat? Finde leider nur was zu kompletten Exports.

Gruß
Mitglied: Xaero1982
12.06.2014 um 09:01 Uhr
01.
On Error Resume Next 
02.
 
03.
Const wbemFlagReturnImmediately = &h10 
04.
Const wbemFlagForwardOnly = &h20 
05.
 
06.
 
07.
strComputer = "localhost" 
08.
 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
 
11.
filename = "Security.txt" 
12.
 
13.
'======================================================== 
14.
Set filesys = CreateObject("Scripting.FileSystemObject") 
15.
If filesys.FileExists(filename) Then 
16.
	filesys.DeleteFile filename 
17.
End If 
18.
 
19.
SET fsoFile = fso.OpenTextFile(filename,8,true) 
20.
'======================================================== 
21.
 
22.
   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
23.
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent WHERE EventCode = '4656' OR EventCode = '4658' OR EventCode = '4664' OR EventCode = '4660' OR EventCode = '4670'", "WQL", _ 
24.
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly) 
25.
 
26.
   For Each objItem In colItems 
27.
      str = Str & ("EventCode: " & objItem.EventCode) &vbcrlf 
28.
      str = Str & ("Message: " & objItem.Message) &vbcrlf 
29.
      str = Str & ("TimeGenerated: " & WMIDateStringToDate(objItem.TimeGenerated)) &vbcrlf 
30.
      str = Str & ("User: " & objItem.User) &vbcrlf 
31.
      str = Str & ("------------------------------------------------------------------------------") &vbcrlf 
32.
   Next 
33.
 
34.
fsoFile.Writeline(str)
spuckt mir nicht das gewünschte aus - nämlich nix :/ Jemand eine Idee?

Gruß
Bitte warten ..
Mitglied: colinardo
LÖSUNG 12.06.2014, aktualisiert um 09:11 Uhr
Moin Xaero,
also mit Powershell z.B. kein Hexenwerk:
01.
# Events in CSV-Datei exportieren 
02.
Get-WinEvent -LogName Security | ?{$_.ID -eq 4656 -or $_.ID -eq 4658 -or $_.ID -eq 4664 -or $_.ID -eq 4660 -or $_.ID -eq 4670} | export-csv "C:\events.csv" -NoTypeInformation -Delimiter ";" 
03.
# Eventlog löschen 
04.
Clear-EventLog -LogName Security -Confirm:$false
Mehr zur exakteren Event-Filterung kannst du hier nachlesen:

Grüße Uwe
Bitte warten ..
Mitglied: Xaero1982
12.06.2014 um 09:07 Uhr
Moin Uwe,

danke erst mal.

Ich hab noch nicht wirklich viel mit PS gemacht.

Kann ich das auch einfach in den Taskplaner einfügen und er ruft die PS-Datei entsprechend auf?

Gruß
Bitte warten ..
Mitglied: colinardo
LÖSUNG 12.06.2014, aktualisiert 27.06.2014
Zitat von Xaero1982:
Kann ich das auch einfach in den Taskplaner einfügen und er ruft die PS-Datei entsprechend auf?
Sicher kein Problem aber vorher solltest du zuerst die Execution-Policy prüfen.

Hier mal alles für den Anfang mit Powershell:

Anleitung: Wie starte ich Powershell-Scripte
  • Zuerst speicherst man den Code in einer Textdatei mit der Endung .ps1.
  • Wenn man zum ersten mal Powershell-Scripte ausführt, musst man einmalig vorher noch das Ausführen von Scripten im User-Account freischalten. Dazu öffnet man eine Powershell-Konsole und gibt dort den Befehl Set-ExecutionPolicy RemoteSigned -Force ein. Um diese Policy für alle User auf dem Rechner zu setzen muss man diesen Befehl in einer Powershell-Konsole mit Admin-Rechten starten. Noch ein Hinweis für 64-Bit-Systeme: Hier sollte sowohl für die 32bit und 64Bit Variante der Powershell die Policy in einer Admin-Konsole gesetzt werden: Set-ExecutionPolicy RemoteSigned -Force; start-job { Set-ExecutionPolicy RemoteSigned -Force } -RunAs32
  • Jetzt kann das Powershell-Script in der Konsole mit Eingabe des Pfades der Scriptdatei, oder mit einem Rechtsklick auf die Script-Datei :Mit Powershell ausführen gestartet werden.

Im Taskplaner setzt du dann unter Auszuführendes Programm den Pfad zur Powershell-EXE ("C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe") und unter Argumente dann den Pfad zum Script.
Bitte warten ..
Mitglied: Xaero1982
12.06.2014 um 09:11 Uhr
Hach du bist einfach ...


Gruß
Bitte warten ..
Mitglied: colinardo
12.06.2014, aktualisiert um 09:40 Uhr
Zitat von Xaero1982:
spuckt mir nicht das gewünschte aus - nämlich nix :/ Jemand eine Idee?
dir fehlt hier noch die Funktion zur Umwandlung des WMI-Datums(UTC) WMIDateStringToDate():
http://gallery.technet.microsoft.com/scriptcenter/03a18f58-0e13-47d1-88 ...
01.
Function WMIDateStringToDate(wmiDate)  
02.
    WMIDateStringToDate = CDate(Mid(wmiDate, 5, 2) & "/" & _  
03.
        Mid(wmiDate, 7, 2) & "/" & Left(wmiDate, 4) _  
04.
            & " " & Mid (wmiDate, 9, 2) & ":" & _  
05.
                Mid(wmiDate, 11, 2) & ":" & Mid(wmiDate, _  
06.
                    13, 2))  
07.
End Function
Und zum testen mal das On Error Resume Next rausnehmen, dann meldet sich das Script wenn Fehler auftauchen, fürs Debugging von Vorteil

Zum Löschen des Eventlogs kannst du mit VBS dann noch das hier hernehmen:
01.
'Clear Security Eventlog 
02.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Backup)}!\\.\root\cimv2") 
03.
Set colLogFiles = objWMIService.ExecQuery _ 
04.
    ("Select * from Win32_NTEventLogFile where LogFileName='Security'") 
05.
 
06.
For Each objLogfile in colLogFiles 
07.
        objLogFile.ClearEventLog() 
08.
Next
Grüße Uwe
Bitte warten ..
Mitglied: Xaero1982
30.06.2014 um 21:52 Uhr
Also das mit dem Powershellscript haut irgendwie nicht so hin. Die Daten die im Eventlog stehen sind andere als die Log hergibt...

Ich bekomme leider keinen Usernamen raus der im Eventlog vorhanden ist... sondern offenbar nur die ID. Auch nicht auf welche Datei zugegriffen wurde...

Gruß
Bitte warten ..
Mitglied: colinardo
30.06.2014 um 22:10 Uhr
Zitat von Xaero1982:
Also das mit dem Powershellscript haut irgendwie nicht so hin. Die Daten die im Eventlog stehen sind andere als die Log
hergibt...
Kann ich nicht feststellen!
Ich bekomme leider keinen Usernamen raus der im Eventlog vorhanden ist... sondern offenbar nur die ID. Auch nicht auf welche Datei
zugegriffen wurde...
Dazu musst du wie oben verlinkt mit XPath Filtern und dann den Namen und Datei aus dem Message-Body extrahieren. Melde mich morgen nochmal...

Heut is Ende Gelände

Schönen Abend
Uwe
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Wenn bestimmte Datei leer dann Script ausfürhen sonst nicht
gelöst Frage von aletriVB for Applications10 Kommentare

Guten Abend allerseits Dieser Script löscht einen bestimmten Eintrag in der Scener.cfg des Flugsimulators und funktioniert soweit: Nun sollte ...

Windows Server
Wie kann ich das Eventlog reparieren?
Frage von joni2000deWindows Server3 Kommentare

Hallo, kann mir jemand beim meinem Problem wie in dieser Frage ganz unten beschrieben weiter helfen? Ich habe mich ...

Windows 8
Einstellungen Eventlog
gelöst Frage von Wisch43Windows 84 Kommentare

Hallo miteinander, wie (wenn überhaupt) kann ich den Eventlog so einstellen, dass meine erstellte Benutzerdefinierte Ansicht beim Start des ...

Windows Systemdateien
Batchfile zum Leeren von bestimmten Ordnern in allen (beliebigen) Benutzerprofilen eines Rechners?
gelöst Frage von kai-schwabWindows Systemdateien2 Kommentare

Hallo zusammen! Ich würde gerne auf einen Schlag in allen Benutzerprofilen bestimmte Ordner leeren - unabhängig davon wie viele ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 1 MinuteWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 7 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 8 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1011 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
gelöst Frage von HelloWorldBatch & Shell22 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen18 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server14 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...