Jump to content

eismanhobbit

Members
  • Gesamte Inhalte

    69
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von eismanhobbit

  1. Ich habe da ein Problem und hoffe jemand kann mir helfen.

     

    Ich habe hier eine Win2000 Domäne mit 2 Win2000 Domänen-Controllern, und ganz wichtig: einer Englisch, einer deutsch beide SP4

     

    Warum ? Kann ich nichts zu sagen, bin hier angestellt worden, da war das schon so.

     

    Sooo, nun bekomme ich am englischen, der wohl als zweites aufgesetzt wurde immer folgende Meldung im Anwendungslog:

     

    Quelle: SceCli

    ID: 1202

     

    Security policies are propagated with warning. 0x534 : No mapping between account names and security IDs was done.

     

    For best results in resolving this event, log on with a non-administrative account and search Microsoft Help and Support for "troubleshooting 1202 events".

    A user account in one or more Group policy objects (GPOs) could not be resolved to a SID. This error is possibly caused by a mistyped nor deleted user account referenced in either the User Rights or Restricted Groups branch of a GPO. To resolve this event, contact an administrator in the domain to perform the following actions:

     

    1.Identify accounts that could not be resolved to a SID: From the command prompt, type: FIND /I "Cannot find" %SYSTEMROOT%\Security\Logs\winlogon.log

    The string following "Cannot find" in the FIND output identifies the problem account names.

    Example: Cannot find JohnDough.

    In this case, the SID for username "JohnDough" could not be determined. This most likely occurs because the account was deleted, renamed, or is spelled differently (e.g. "JohnDoe").

     

    2.Identify the GPOs that contain the unresolvable account name:

    From the command prompt type FIND /I "JohnDough" %SYSTEMROOT%\Security\templates\policies\gpt*.*

    The output of the FIND command will resemble the following:

    ---------- GPT00000.DOM

    ---------- GPT00001.DOM

    SeRemoteShutdownPrivilege=JohnDough

    This indicates that of all the GPO’s being applied to this machine, the unresolvable account exists only in one GPO. Specifically, the cached GPO named GPT00001.DOM.

    Now we need to determine the friendly name of this GPO in the next step.

     

    3. Locate the friendly names of each of the GPOs that contain an unresolvable account name. These GPOs were identified in the previous step.

    From the command prompt, type: FIND /I "[Mapping]" %SYSTEMROOT%\Security\Logs\winlogon.log

    The string following "[Mapping] gpt0000?.dom =" in the FIND output identifies the friendly names for all GPO’s being applied to this machine.

    Example: [Mapping] gpt00001.dom = User Rights Policy

    In this case, the GPO that contains the unresolvable account (gpt00001.dom) has a friendly name of "User Rights Policy".

     

    4. Remove unresolved accounts from each GPO that contains an unresolvable account.

    usw.

     

     

    Bin also so vorgegangen und bekomme folgende Fehlermeldung in der winlogon.log:

    .....

    Configure S-1-5-21-1267235410-4745044-1657568248-6419.

    Configure S-1-5-21-1267235410-4745044-1436646248-5020.

    Configure Administratoren.

    Error 1788: The trust relationship between the primary domain and the trusted domain failed.

    Cannot find Administratoren.

    Configure S-1-5-21-1267235410-4745044-1392534248-1315.

     

    Es scheint also ein Problem zu sein das der englische Server mit "Administratoren" nichts anfangen kann.

    Denke dass das logisch ist - im englischen heisst es ja "Administrators"

     

    Wer kann mir helfen den Fehler aus den Logs zu entfernen....er kam übrigens erst vor 1 Monat obwohl die beiden Server schon länger nebeneinander laufen

  2. @zahni

     

    Vielen Dank für deine Antwort aber das kann so wie du es schjreibst nicht sein

    Übrigens funktioniert das net use so auch nicht, da Du in einer Session, die Du bereits mit einem Domain-Account gestartet hast, Dich nicht mit einem anderen (oder den selben) Account zu einem Netz-Share verbinden kannst. Fehler:

     

    Systemfehler 1219 aufgetreten.

    Das kann icht sein, denn wenn ich angemeldet bin funktinoiert das "von Hand" aufgerufenen Batch ja und verbindet mich.

    Wenn ich nicht angemeldet bin und der Taskplaner soll es ausführen, dann geht es nicht

     

    Trotzdem Danke

  3. Also

     

    Betriebssystem ist Windows2000 Standard Server

     

    Das Benutzerkonto, mit dem ich das versuche ist mein Domänenaccount.

    Ich bin Domainadmin und der Benutzername im Batch und der Benutzername für den Task-Planer sind gleich !!

     

    Danke schonmal

     

    Achso - welches Problem ich lösen möchte:

    Ich möchte zu einer bestimmten Uhrzeit eine Datei auf einen anderen Server kopieren und danach muß aber die Verbindung wieder getrennt werden#

     

    Danke

  4. Hallo

     

    ich habe folgendes Problem:

     

    Ich habe ein Batch-Datei mit folgendem Inhalt

     

      
    net use z: \\Servername\Freigabe /user:Domainname\username password
    

     

    Wenn ich die Datei doppelklicke funktioniert es. D.h. die Berechtigungen und auch sonst funktionieren

     

    Nun möchte ich diese Batch-Datei aber per Taskplaner aufrufen und dann funktioniert es nicht.

    Ich bekomme leider keine Fehlermeldung, jedenfalls ist das Laufwerk, was gemappt werden soll nicht da

     

    Übrigens, wenn ich den net use-Befehl so wie oben in die cmd.exe oder command.com eingebe funktioniert alles bestens

     

    Kann mir jemand helfen

     

    Gruß

    Thomas

  5. So, so lernt man immer wieder dazu.

     

    Ich habe die ganze Zeit gedacht "Führe das Script erstmal lokal aus und wenn das funktioniert, dann kann du versuchen es Remote einzusetzten"

     

    Jetzt der Hammer:

    Lokal funktioniert es nicht !!! Aber Remote !!!

     

    Ich kann also zentral von einem Server ein Batch schreiben, das das VBScript auf Remote-Servern aufruft und es funktioniert - nur auf dem Server, von dem alles gesteuert werden soll funktioniert es für das Security-Log lokal nicht.

     

    Weis dafür vielleicht jemand Rat !!!

     

    Danke

  6. Also, ich habe noch folgendes herausgefunden.

     

    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 ?

     

    Gruß

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

    ' 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 
    

  8. Hallo

     

    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 ?

     

    Danke schonmal

  9. Hallo

     

    zunächst mal möchte ich mich für die Hílfe bis hier hin bedanken und auch für die netten Kommentare von Biber und Gunther.

    Ich denke wir werden in Zukunft schon klar kommen ;)

     

    Jetzt noch eine letzte Frage:

    Mein Script ist soweit fertig und ich exportiere jetzt jede Nacht alle Logfiles in eine mdb-Datenbank. Auch das eigentliche Eventlog wird nochmals rauskopiert. Dies funktioniert mit meinen Scripts bestens beri Application, System, File Replication und Directory Service, aber leider nicht beim wichtigsten Logfile nämlich beim Securitylog.

    Ich bekomme immer die Fehlermeldung:

    Zeile 18

    Zeichen 4

    Fehler Zugriff verweigert

    Code: 80041003

    Quelle: SWbemObject

     

    Liegt also wohl an einer Berechtigung - habe aber schon alles durchsucht.

    Hat jemand noch einen Tipp

     

    Danke

    eismanhobbit

  10. Hallo Biber

     

    zunächst muß ich sagen, das ich das mit den Doppelpostings absolut nachvollziehen kann und es wird nicht wieder vorkommen.

     

    Leider verstehe ich deine erneute Aufgeregtheit nicht ganz und ich muß sagen das ich dein vorgehen ziemlich unverschämt finde und das aus folgendem Gründen.

     

    1.) Das ist ein neues Problem und hat mit dem alten nur etwas zu tun, weil es sich um das selbe Script handelt. Aber wie gesagt - es ist ein neues Problem, also ein neues Posting.

     

    2.) ###Zitat: Das ist kein guter Stil, in mehreren Foren zeitgleich die identische Frage zu stellen als wäre es furchtbar dringend und vielleicht nach zwei Wochen wieder vorbeizuschauen, wer denn alles so was gepostet hat.###

     

    Es gibt Leute, die nur in einem Forum verkehren und andere sind in anderen Foren angemeldet. Die meisten werden wohl in beiden Foren sein, aber wenn ich eine Frage stelle, möchte ich doch möglichst alle erreichen, die sich mit solchen Themen auskennen. Deshalb das Posting in zwei verschiedenen Foren. Ich denke das ist eine plausible Erklärung und hat absolut nichts mit "Stil" zu tun. Außerdem schaue ich nach einem Posting mehrmals täglich ins Forum - ich möchte ja so schnell wie möglich eine Antwort - und nicht "vielleicht nach zwei Wochen"

     

    3.) ###Zitat: schreib in eine Logdatei statt auf den Bildschirm ###

     

    Du magst Moderator in diesem Forum sein aber ich bitte dich, dir nicht anzumaßen, zu wissen, wo ich schreibe. Ich schreibe mit Sicherheit mehr in meinen Scripts wie im Forum und wende mich nur an Foren, wenn ich im Internet nichts passendes finde oder mit dem gefundenen nicht klar komme, weil es z.B. zu "fachmännisch" formuliert ist.

     

    4.) ###Zitat: oder tipp ein einziges Mal Deine Frage selbst in eine Suchmaschine/Forumssuche ein ###

     

    Wieder eine Mutmaßung - ich habe midestens 100 verschiedene Suchbegriffe in verschiedenen Suchmaschinen ausprobiert und nichts passendes gefunden. Mein Problem ist ein kleiner Ausschnitt aus einem ganzen Projekt und ich arbeite seit Wochen daran.

    Ich wende mich nur an Foren, wenn ich nicht mehr weiter komme !!!

     

    Ich finde es ein Unverschämtheit wie du mit Leuten wie mir im Forum umgehst.

    Ich benötige Hilfe - und die suche ich im Forum - und dazu sind solche Foren da !!!!

    Leider hast du mich bisher nur "zurechtgewiesen" aber Hilfe habe ich nicht bekommen - zumindest nicht von dir.

     

    Ich habe das Gefühl, das du nur hier bist um "Polizei" zu spielen und vielleicht gar nicht helfen willst

     

    Sorry, das mußte jetzt mal sein - und wenn du mich jetzt rausschmeissen willst, dann tue es !!! Jedenfalls akzeptiere ich nicht jede unangemessene Kritik.

     

    Wie gesagt, das mit den Doppelposting in verschiedenen Rubriken eines Forums wird nicht mehr vorkommen - das sehe ich ein - den Rest nicht

     

    Schönen Tag

    eismanhobbit

  11. Hallo

     

    ich habe mir ein Script geschrieben und es funktioniert auch.

    Es wird im laufenden Prozess einer Batch-Datei aufgerufen.

     

    Nun habe ich folgendes Problem:

    Die Batch-Datei läuft nicht weiter solange die "Bestätigungsmeldung" des VB-Scripts nicht mit "OK" bestätigt wird.

    Da das ganze aber automatis ch nachts ablaufen soll muß die Meldung also irgendwie bestätigt werden oder es darf erst gar keine kommen.

     

    Hier das Script:

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------	
    strLog = "application"
    strdate = date													' z.B. Anwendung
    strBackupFile = "\\stratos\logs\tokyo\application\app_" & 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 Ereignisprotokolle: " & colLogs.Count
      WScript.Quit
    end if
    for each objLog in colLogs
      objLog.BackupEventlog strBackupFile
      WScript.Echo strLog & " gesichert in " & strBackupFile
    next
    

     

     

    Kann mir jemand die letzten Zeilen so ändern, das keine Meldung mehr kommt óder die Meldung automatisch bestätigt wird

    Würde mir sehr helfen

     

    Danke

    eismanhobbit

  12. Sorry, sorry, sorry

     

    tut mir leid - aber ich komme nicht weiter.

    Mit ein paar Tools habe ich mich beschäftigt !!

    Mit Logparser kann man kein Eventlog löschen und mit Scriptiomatic komme ich nicht klar !!

     

    Mittlerweile habe ich es soweit hinbekommen das Logfile auf einem entfernten Server abzulegen aber der Befehl " strServer = "nippon" " funktioniert nur lokal also " strServer = "." "

     

    Kann mir denn niemand helfen

     

    eismanhobbit

  13. Hallo

    vielleicht habe ich hier mehr Glück - hoffentlich !!!

     

    ich weiß nicht mehr weiter. Ich habe ein Script, das mir ein Eventlog auf einem Win2000Server ausliest und auf einem lokalen Pfad ablegt.

    Das funktioniert bestens.

    Hier das Script welches funktioniert.

     

    Code:

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.

    ' ------ Skript-Konfiguration ------

    strLog = "application" ' z.B. application

    strdate = date

    strBackupFile = "c:\app_back.evt" ' z.B. c:\app_back.evt

    strServer = "." ' z.B. servername (verwenden Sie "." für den lokalen Server)

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

    next

     

     

    So, nun möchte ich das Script so schreiben, das er das Log von einem anderen Server holt

    Diese Script fun ktioniert nicht - aber es kommt auch keine Fehlermeldung - es passiert einfach nichts.

    Ich habe einfach strServer = "servername" geändert. Auch mit dem fullqualified Domainname habe ich es versucht.

    An den Berechtigungen kann es nicht liegen, da ich das Log dort per Hand auslesen kann.

    Kann mir jemand helfen ??

     

    Code:

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.

    ' ------ Skript-Konfiguration ------

    strLog = "application" ' z.B. application

    strdate = date

    strBackupFile = "c:\app_back.evt" ' z.B. c:\app_back.evt

    strServer = "servername" ' z.B. servername (verwenden Sie "." für den lokalen Server)

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

    next

     

     

    Was leider auch nicht funktioniert ist das Lokale Logfile auf einer Share abzulegen.

    Hier das Script

     

    Code:

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.

    ' ------ Skript-Konfiguration ------

    strLog = "application" ' z.B. application

    strdate = date

    strBackupFile = "\\servername\share\app_back.evt" ' z.B. c:\app_back.evt

    strServer = "." ' z.B. servername (verwenden Sie "." für den lokalen Server)

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

    next

     

     

    Danke schonmal vorab

    eismanhobbit

  14. Hallo

     

    vielleicht kann mir doch jemand helfen, wenn ich es einfacher erkläre

    ich gebe zu das ist alles etwas kompliziert erklärt, obwohl es das gar nicht ist.

     

    Also:

    Ich möchte die original Logfiles von allen Servern jede Nacht auslesen und zentral abspeichern.

    Es ist mir bereits gelungen die Files jede Nacht in eine Datenbank bzw. in eine *.csv-Datei zu schreiben.

    Was ich nicht hinbekomme ist (um doppöelte Einträge zu vermeiden) das Logfile nach dem Export zu löschen bzw. es vorher auch nochmal in das *.evt-Format zu exportieren.

     

    Wenn ich die Scripts lokal auf dem Server ausführe, auf dem das Logfile ausgelesen wird und auch geschrieben wird, dann funktioniert es. (also alles lokal)

    Ich möchte aber von einem Server alle anderen auslesen und auf diesen einen Server alle Logfiles speichern - und das gelingt mir nicht. (also das Script läuft auf einem Server, der die Logfiles über Netzwerk ausliest und bei auf einem anderen Server´über Netzwerk abspeichert)

     

    Hier nochmals die Scripts:

     

    auslesen

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.

    ' ------ Skript-Konfiguration ------

    strLog = "Application" ' z.B. Anwendung

    strdate = date

    strBackupFile = "c:\app_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt" ' z.B. c:\app_back.evt

    strServer = "Servername" ' z.B. tokyo (verwenden Sie "." für den lokalen Server)

    ' ------ 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.Echo strLog & " gesichert in " & strBackupFile

    next

     

     

    löschen:

     

    ' Dieser Code löscht alle Ereignisse im festgelegten Ereignisprotokoll

    ' ------ Skript-Konfiguration ------

    strLog = "system" ' z.B. Application

    strServer = "Servername" ' z.B. tokyo (verwenden Sie "." für den lokalen Server)

    ' ------ ENDE DER KONFIGURATION ------

    set objWMI = GetObject("winmgmts:\\" & 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 Ereignisprotokolle: " & colLogs.Count

    WScript.Quit

    end if

    for each objLog in colLogs

    objLog.ClearEventLog

    next

     

     

    Es funktioniert also lokal aber nicht übers Netzwerk

    Kann mir jemand helfen

     

    Danke

    eismanhobbit

  15. Hallo

     

    ich weiß nicht mehr weiter. Ich habe ein Script, das mir ein Eventlog auf einem Win2000Server ausliest und auf einem lokalen Pfad ablegt.

    Das funktioniert bestens.

    Hier das Script welches funktioniert.

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------
    strLog = "application"                    ' z.B. application
    strdate = date
    strBackupFile = "c:\app_back.evt"                   ' z.B. c:\app_back.evt
    strServer = "."                 ' z.B. servername (verwenden Sie "." für den lokalen Server)
    ' ------ 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
    next
    

     

    So, nun möchte ich das Script so schreiben, das er das Log von einem anderen Server holt

    Dieses Script funktioniert nicht - aber es kommt auch keine Fehlermeldung - es passiert einfach nichts.

    Ich habe einfach strServer = "servername" geändert. Auch mit dem fullqualified Domainname habe ich es versucht.

    An den Berechtigungen kann es nicht liegen, da ich das Log dort per Hand auslesen kann.

    Kann mir jemand helfen ??

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------
    strLog = "application"          ' z.B. application
    strdate = date
    strBackupFile = "c:\app_back.evt"        ' z.B. c:\app_back.evt
    strServer = "servername"     ' z.B. servername (verwenden Sie "." für den lokalen Server)
    ' ------ 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
    next
    

     

     

    Was leider auch nicht funktioniert ist das Lokale Logfile auf einer Share abzulegen.

    Hier das Script

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------
    strLog = "application"       ' z.B. application
    strdate = date
    strBackupFile = "\\servername\share\app_back.evt"        ' z.B. c:\app_back.evt
    strServer = "."           ' z.B. servername (verwenden Sie "." für den lokalen Server)
    ' ------ 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
    next
    

     

     

     

    Danke schonmal vorab

    eismanhobbit

  16. Vielen Dank euch allen !!!

     

    Hier die Lösung getestet und funktioniert

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------
    strLog = "Application"													' z.B. Anwendung
    strdate = date
    strBackupFile = "c:\app_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt"	' z.B. c:\app_back.evt
    strServer = "."														' z.B. tokyo (verwenden Sie "." für den lokalen Server)
    ' ------ 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.Echo strLog & " gesichert in " & strBackupFile
    next
    

     

    Danke

  17. Hallo

     

    Danke erstmal für die schnelle Hilfe.

    Leider funktioniert es nur auf einem "deutschen" System.

    Wie ist den der Befehl für ein englisches System.

     

    Habe folgendes ausprobiert:

    strdate = date
    strBackupFile = "c:\app_back_" & strdate & ".evt"	
    

    also im Prinzip das gleiche.

    Leider ist der Ausgabename nicht zulässig und die Datei wird nicht angelegt.

    Der Ausgabename wäre c:\app_back_22/02/2008.evt

    Leider ist ein "/" Slash im Namen nicht zulässig.

    Wie bekomme ich es hin, das der Dateiname folgendermassen lautet:

    c:\app_back_22022008.evt oder besser noch wie im englischen Format:

    c:\app_back_20080222.evt

     

    Danke !!!

  18. Hallo

     

    ich habe hier ein kleines Problem aber so wie ich euch kenne ist das für euch eine Kleinigkeit.

    Ich habe ein Script geschrieben, mit dem ich die Windows-Logfiles wegkopiere.

    Das funktioiert auch - ich möchte aber beim erstellen der Datei einen anderen Dateinamen haben.

    Er soll folgendermassen aussehen:

    servername_logfilename_aktuelles Datum.evt - also zum Beispiel: server1_sec_20080222.evt

     

    Hier das Script was ich geschrieben habe - der Eintrag strBackupFile = "c:\app_back.evt" muß wohl geändert werden.

    Es wäre nett, wenn ihr den notwendigen Eintrag einfach ändern könntet

     

    Danke schonmal im voraus

     

     

    ' Dieser Code archiviert ein Ereignisprotokoll in der angegebenen Datei.
    ' ------ Skript-Konfiguration ------
    strLog = "Application"			' z.B. Application
    strBackupFile = "c:\app_back.evt"	                ' z.B. c:\app_back.evt
    strServer = "."				' z.B. server1 (verwenden Sie "." für den lokalen Server)
    ' ------ 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.Echo strLog & " gesichert in " & strBackupFile
    next
    

×
×
  • Neu erstellen...