ich versuche mit einem VBScript die Eventlogs, vor allem das Security-Eventlog auszulesen und zu löschen.
Auf den Servern, die ich selbst in der Domäne installiert habe (Win2003 Server) funktioniert das auch bestens. Leider nicht auf den "älteren" und vor allem nicht auf den Domaincontrollern mit Win2000 Server Standard.
Ich bin Domänenadmin und habe alle Berechtigungen.
Im Ereignisprotollfenster funktioniert es per Hand aber ich möchte es per Script automatisiert machen.
Die Domänenrichtlinie und auch die lokale Richtlinie habe ich mit den Server verglichen, bei denen es funktioniert aber ich finde keinen Unterschied.
Beim ausführen des Scripts kommt immer nur "Zugriff verweigert.
Kann es an einem Unterschied zwischen Win 2000 und Win 2003 Server liegen.
Welche Berechtigungen muß ich haben um das Security-Eventlog per Batch zu löschen ?
Kann mir da jemand helfen ?
Ja - ich habe die Scripts jetzt endlich fertig und jetzt tat sich für mich dieses Problem mit den Berechtigungen auf.
Ich denke es wird ein grundsätzliches Problem mit VBScript und Berechtigungen sein. Deshalb der neue Thread
Also, nochmal: nicht das es zu Missverstänsdnissen führt.
Ich kann das Script auch nicht lokal ausführen - zumindest nicht auf den älteren Servern
Aber hier nochmal das Script
Code:
' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
' ------ Skript-Konfiguration ------
strLog = "security"
strdate = date ' z.B. Anwendung
strBackupFile = "\\stratos\logs\atisprs1\security\sec_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt" ' z.B. c:\app_back.evt ' z.B. tokyo (verwenden Sie "." für den lokalen Server)
strServer = "."
' ------ ENDE DER KONFIGURATION ------
set objWMI = GetObject(_
"winmgmts:{impersonationLevel=impersonate,(Backup)}!\\" & _
strServer & "\root\cimv2")
set colLogs = objWMI.ExecQuery("Select * from Win32_NTEventlogFile Where " & _
" Logfilename = '" & strLog & "'")
if colLogs.Count <> 1 then
WScript.Echo "Fataler Fehler. Anzahl gefundener Ereigniosprotokolle: " & colLogs.Count
WScript.Quit
end if
for each objLog in colLogs
objLog.BackupEventlog strBackupFile
WScript.Quit
next
Geändert von eismanhobbit (01.04.2008 um 16:03 Uhr).
Die Meldung "Zugriff verweigert" beim ausführen des Scripts tritt nur bei folgenden Kriterien auf:
1.) Windows 2000 Server (bei 2003 Server funktioniert das Script)
2.) nur beim auslesen bzw. löschen das Security-Logskommt "Zugriff verweigert". Alle anderen Logs kann ich per Script auslesen und löschen.
Also hier nun meine entgültige, spezielle Frage
Welche spezielle Berechtigung benötige ich um per Script an einem Windows2000 Server das Security-Log zu löschen ?
Probier mal bitte folgendes: Das Konto mit dem du das Skript ausführst, nimmst du mal in die lokalen Administratoren der betroffenen Server auf und testest nochmal. Bin auf das Ergebnis gespannt.