Jump to content

Änderungsdatum eine Datei prüfen und Event-Log schreiben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo

 

habe schon was gefunden das genau das macht was ich brauche und habe folgendes simples script:

 

WasFile C:\test.txt modified after today-1

if errorlevel 1 goto FALSE
goto EXIT

:FALSE
eventcreate /t error /id 100 /l application /d "blabla"

:EXIT

 

Wenn ich das jetzt direkt ausführe funktioniert es wunderbar, wenn ich es aber in der Aufgabenplanung hinterlege schreibt er mir den Event-Log-Eintrag immer, egal welches Ergebnis wasfile bringt.

Jemand eine Idee?

 

Danke!

  • 5 Wochen später...
Geschrieben (bearbeitet)

Sprich die wasfile.exe aus http://www.horstmuc.de/wbat32d.htm mal direkt mit dem gesamten Pfad an.

 

Ich vermute, die Datei kann nicht gefunden werden und deswegen klappt Deine Errorlevel-Abfrage nicht richtig.

 

Auch trägst Du jetzt einen Eintrag im Eventlog ein, wenn die Datei NICHT gestern geändert wurde. Willst Du das wirklich?

 

Eleganter geht es mit && oder !! Verknüpfung. Wenn zum Beispiel die wasfile.exe unter C:\Tools\ und die zu prüfende Datei test.txt unter C:\Check\ liegt, dann kannst Du beide Fehlerfälle so prüfen:

 

C:\Tools\WasFile.exe C:\test.txt modified after today-1 && eventcreate /t error /id 100 /l application /d "Ergebnis: Errorlevel 0 (wahr)"

 

C:\Tools\WasFile.exe C:\test.txt modified after today-1 !! eventcreate /t error /id 100 /l application /d "Ergebnis: Errorlevel >=1 (unwahr)"

 

Beide Beispiele ungetestet, weil wasfile.exe nicht auf meinem Smartphone läuft.

 

Gegenfrage an Dich: Was willst Du damit eigentlich genau erreichen? Änderungen, bei denen der Zeitstempel wieder auf den originalen Wert zurückgesetzt wird, kriegst Du damit nicht zu fassen. Hast Du mal darüber nachgedacht, die Dateiüberwachung für die Datei einzuschalten und Änderungen an der Datei protokollieren zu lassen? Dann steht automatisch im Eventlog ein Eintrag, wenn sich die Datei geändert hat: http://blogs.technet.com/b/mspfe/archive/2013/08/27/auditing-file-access-on-file-servers.aspx

bearbeitet von Daniel -MSFT-
Geschrieben

@Daniel: Ersetze "!!" durch "||", dann stimmt's :)

 

Und man kann es auch in einen Aufruf packen:

 

WasFile.exe C:\test.txt modified after today-1 && eventcreate (wahr) || eventcreate (unwahr)

 

@triebwerk: Die Idee mit dem Suchpfad könnte stimmen - wenn Du bei einem Task kein Ausführungsverzeichnis angibst, wird %windir%\System32 verwendet.

Geschrieben

von Batch und externen Programmen wie was.exe kann man eigentlich nur noch abraten

 

Arbeite dich besser in die Powershell ein:

als Einstieg:

$Treshhold = 1  #in days
$FilePath="C:\Test.txt"

$IsOlderThanThreshhold =  $( $(get-date)  - $(get-Item $FilePath).Lastwritetime   ).Totaldays -lt $Treshhold 

If($IsOlderThanThreshhold){
  eventcreate /t error /id 100 /l application /d "blabla"
  #better: http://blogs.technet.com/b/heyscriptingguy/archive/2013/06/20/how-to-use-powershell-to-write-to-event-logs.aspx
}
Geschrieben

Danke vielmals, sehe mir das heute an.


Gegenfrage an Dich: Was willst Du damit eigentlich genau erreichen? Änderungen, bei denen der Zeitstempel wieder auf den originalen Wert zurückgesetzt wird, kriegst Du damit nicht zu fassen. Hast Du mal darüber nachgedacht, die Dateiüberwachung für die Datei einzuschalten und Änderungen an der Datei protokollieren zu lassen? Dann steht automatisch im Eventlog ein Eintrag, wenn sich die Datei geändert hat: http://blogs.technet.com/b/mspfe/archive/2013/08/27/auditing-file-access-on-file-servers.aspx

 

Hmm, das stimmt natürlich, wäre ja viel einfacher.

Es soll nur überprüft werden ob der tägliche Export einer HV (automatisiert per Powershell) bzw. ein Backup per Robocopy funktioniert hat.

Geschrieben

Was ist eine HV?

Man kann hier direkt auch die Rückgabe-Codes ("Errorlevel") o.ä. der Anwendungen verarbeiten.

Ein Kollege hatte mal ein kleines Powershell-Script geschrieben, dass Log-Files nach bestimmen Schlüsselwörtern durchsucht und bei Bedarf eine Mail verschickt.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...