eismanhobbit 10 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 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 Zitieren Link zu diesem Kommentar
marka 584 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 Ich war mal so frei, und habe das Thema ins richtige Subforum verschoben: Scripting... Zitieren Link zu diesem Kommentar
marka 584 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 Um das aktuelle Datum auszugeben, verwendet man die Funktion 'date': kleines Beispiel: Option Explicit Dim ausgabe Dim heute Dim uhr set ausgabe = WScript.CreateObject("WScript.Shell") heute = Date uhr = Time ausgabe.popup "Heute ist der " & heute & " und wir haben gerade " & uhr & " Uhr.", 0, "Aktuelles Datum mit Uhrzeit" Das Script lermittelt das lokale Rechnerdatum und die lokale Rechneruhrzeit und gibt diese in einer Popupmeldung aus. Wenn Du das entsprechend in das Script einbaust, kannst Du Dir das Datum in den Dateinamen einbauen... Der entsprechende Abschnitt müsste also lauten: strheute = date strBackupFile = "c:\app_back_" & strheute & ".evt" ' z.B. c:\app_back.evt Zitieren Link zu diesem Kommentar
eismanhobbit 10 Geschrieben 22. Februar 2008 Autor Melden Teilen Geschrieben 22. Februar 2008 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 !!! Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 Hi, strdate = date strBackupFile = "c:\app_back_" & year(strdate) & right("0" & month(strdate),2) & right("0" & day(strdate),2) & ".evt" Da der Wert von Monat und Tag einstellig sein kann, wird eine 0 vorangestellt und dann auf die rechten zwei Stellen gekürzt. thorgood Zitieren Link zu diesem Kommentar
Biber 10 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 Moin eismanhobbit, Zum Beispiel so... ...Strdate = cstr(year(date)) & right(cstr(100+month(date)),2) & right(cstr(100+day(date)),2)...[/Code] Bitte setze auch in den anderen Foren, in denen Du Deine Frage gepostet hast, den Beitrag mit Angabe einer Lösungsstrategie auf "Erledigt". Danke Biber Zitieren Link zu diesem Kommentar
eismanhobbit 10 Geschrieben 22. Februar 2008 Autor Melden Teilen Geschrieben 22. Februar 2008 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 Zitieren Link zu diesem Kommentar
eismanhobbit 10 Geschrieben 22. Februar 2008 Autor Melden Teilen Geschrieben 22. Februar 2008 Wo kann ich das Thema den schliessen ?? Zitieren Link zu diesem Kommentar
marka 584 Geschrieben 22. Februar 2008 Melden Teilen Geschrieben 22. Februar 2008 Bei uns können nur Moderatoren Themen schließen. Die Kennzeichnung "Erledigt" ist bei uns nicht aktiv. Es reicht, wenn Du eine kurze Rückmeldung in den Beitrag schreibst, dass alles so geklappt hat. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.