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

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!

Link zu diesem Kommentar
  • 5 Wochen später...

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-
Link zu diesem Kommentar

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

Link zu diesem Kommentar

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
}
Link zu diesem Kommentar

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.

Link zu diesem Kommentar
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...