Ereignisanzeige per Script löschen
Hallo,
ist es möglich das Ereignisprotokoll per Script/Batch-Datei zu löschen?
Es handelt sich um WinXp pro Clients.
Mit PsTools kenne ich mich leider nicht aus.
Hat evtl. jemand eine Lösung oder einen Lösungsansatz?
Vieleicht gibt es ja ein Tool das ich via Batch starten kann!?
Über eine Rückantwort würde ich mich sehr freuen.
Gruß
Nitro99
ist es möglich das Ereignisprotokoll per Script/Batch-Datei zu löschen?
Es handelt sich um WinXp pro Clients.
Mit PsTools kenne ich mich leider nicht aus.
Hat evtl. jemand eine Lösung oder einen Lösungsansatz?
Vieleicht gibt es ja ein Tool das ich via Batch starten kann!?
Über eine Rückantwort würde ich mich sehr freuen.
Gruß
Nitro99
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 55876
Url: https://administrator.de/contentid/55876
Ausgedruckt am: 27.11.2024 um 02:11 Uhr
14 Kommentare
Neuester Kommentar
Moin nitro99,
im Moment ist die Codeformatierung wegen eines Releasewechsels noch etwas suboptimal.
Kannst Du die insgesamt 6 Zeilen in Deinem Editor mal auf genau 6 Zeilen bringen?
Du hast ein paar Zeilenumbrueche zuviel.
1strComputer = "."
2Set objWMIService = GetObject("winmgmts:\\" & strComputer &"\root\CIMV2")
3Set objShare = objWMIService.Get("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'")
4Set objInParam = objShare.Methods_("ClearEventlog").inParameters.SpawnInstance_()
5Set objOutParams = objWMIService.ExecMethod("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'", "ClearEventlog", objInParam)
6Wscript.echo "ReturnValue: " & objOutParams.ReturnValue
[behelfsmaessig von 1-6 nummeriert.]
Ach ja, und ueberpruefe ob der %windir%-Pfad bei Dir auch "c:\windows\" ist..
Gruss
Biber
im Moment ist die Codeformatierung wegen eines Releasewechsels noch etwas suboptimal.
Kannst Du die insgesamt 6 Zeilen in Deinem Editor mal auf genau 6 Zeilen bringen?
Du hast ein paar Zeilenumbrueche zuviel.
1strComputer = "."
2Set objWMIService = GetObject("winmgmts:\\" & strComputer &"\root\CIMV2")
3Set objShare = objWMIService.Get("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'")
4Set objInParam = objShare.Methods_("ClearEventlog").inParameters.SpawnInstance_()
5Set objOutParams = objWMIService.ExecMethod("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'", "ClearEventlog", objInParam)
6Wscript.echo "ReturnValue: " & objOutParams.ReturnValue
[behelfsmaessig von 1-6 nummeriert.]
Ach ja, und ueberpruefe ob der %windir%-Pfad bei Dir auch "c:\windows\" ist..
Gruss
Biber
Hallo nitro99!
Es fehlen an einigen Zeilenenden die verbindenden Grundstriche (" _"); so müsste es aber gehen:
Falls Du übrigens außer dem Log "Anwendung" (= "AppEvent") auch noch "System" bzw "Sicherheit" löschen möchtest, müsstest Du dafür "SysEvent" bzw "SecEvent" einsetzen (Zeilen 3 und 5).
Grüße
bastla
Es fehlen an einigen Zeilenenden die verbindenden Grundstriche (" _"); so müsste es aber gehen:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set objShare = objWMIService.Get("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'")
Set objInParam = objShare.Methods_("ClearEventlog").inParameters.SpawnInstance_()
Set objOutParams = objWMIService.ExecMethod("Win32_NTEventlogFile.Name='C:\WINDOWS\system32\config\AppEvent.Evt'", "ClearEventlog", objInParam)
Wscript.echo "ReturnValue: " & objOutParams.ReturnValue
Falls Du übrigens außer dem Log "Anwendung" (= "AppEvent") auch noch "System" bzw "Sicherheit" löschen möchtest, müsstest Du dafür "SysEvent" bzw "SecEvent" einsetzen (Zeilen 3 und 5).
Grüße
bastla
@Iwan
@nitro99
Natürlich. Was hätte diese Sicherheits-Event-Loggerei für einen Sinn, wenn jeder diese Einträge löschen kann?
Und wenn es eine möglichkeit geben sollte, diese Einträge verdampfen zu lassen, dann sollte sie nicht unbedingt hier öffentlich gepostet werden.
Gruss
Biber
ist es damit auch möglich, nur Ereignisse älter als 3 Tage zu löschen?
Nein - im Design nicht vorgesehen. Ein ClearEventLog ist ganz oder gar nicht.@nitro99
Aber mit Sicherheit bekomme ich ....Fehler:Zugriff verweigert.
Natürlich. Was hätte diese Sicherheits-Event-Loggerei für einen Sinn, wenn jeder diese Einträge löschen kann?
Und wenn es eine möglichkeit geben sollte, diese Einträge verdampfen zu lassen, dann sollte sie nicht unbedingt hier öffentlich gepostet werden.
Gruss
Biber
Auch die Admins sollten das IMHO nicht automatisch dürfen... aber vielleicht sehe ich das zu eng.
Nun denn, denn ändere oben Zeile 2 und 3 in
...dann sollte es gehen.
Gruss
Biber
Nun denn, denn ändere oben Zeile 2 und 3 in
Set objWMIService =GetObject("winmgmts:{impersonationLevel=impersonate,(Security,Backup)}").ExecQuery("select * from Win32_NTEventLogFile")
...dann sollte es gehen.
Gruss
Biber
Set objWMIService =GetObject("winmgmts:{impersonationLevel=impersonate,(Security,Backup)}").ExecQuery("select * from Win32_NTEventLogFile")
'objWMIService.ClearEventLog()
Das sollte reichen. Sehe mit bloßem Auge keinen Tipp/Denkfehler.
Traue mich aber nicht, das an meinem Rechner auszuprobieren (sonst sind ja EventLogs wech ).
Im Zweifelsfall auf bastla warten.
Gruss
Biber
Bin ja schon da.
Vorläufig endgültige Fassung:
Hinweis: 4 Zeilen, jede beginnt mit Set, und sowohl in Zeile 2 als auch in Zeile 4 steht SecEvent.Evt.
Grüße
bastla
Vorläufig endgültige Fassung:
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Security,Backup)}")
Set objShare = objWMIService.Get("Win32_NTEventlogFile.Name='C:\WINNT\system32\config\SecEvent.Evt'")
Set objInParam = objShare.Methods_("ClearEventlog").inParameters.SpawnInstance_()
Set objOutParams = objWMIService.ExecMethod("Win32_NTEventlogFile.Name='C:\WINNT\system32\config\SecEvent.Evt'", "ClearEventlog", objInParam)
Grüße
bastla