balgor
Goto Top

Aufgabenplanung - Trigger: Beim erstellen einer Datei

Hallo in die Runde,

ich habe folgendes "kleines" Problem.

Ich habe versucht eine Aufgabe zu bauen, dessen Trigger das erstellen einer Datei (C:\Test\Test.txt) sein soll.
Das hat soweit auch funktioniert:
<QueryList>
  <Query Id="0" Path="Security">  
    <Select Path="Security">*[System[band(Keywords,9007199254740992) and (EventID=4663)]]  
and *[EventData[Data[@Name='ObjectName'] and (Data='C:\Test\Test.txt')]]  
and *[EventData[Data[@Name='ProcessName'] and (Data='C:\Windows\System32\spoolsv.exe')]]  
and *[EventData[Data[@Name='AccessMask'] and (Data='0x2')]]</Select>  
  </Query>
</QueryList>
In diesem Fall wird die Datei von einem Drucker erzeugt.

Das Problem ist, das die Aufgabe nachdem sie aktiviert ist und der Trigger ausgelöst wurde endlos weiterläuft.
Was auch logisch ist? Da der Trigger immer wieder aufs neue gefunden wird?

Wie kann ich der Aufgabe sagen, sie soll nur 1x auf diesen Trigger anspringen?
"Aufgabe für 1 Sekunde ausführen" oder "Aufgabe nach 1 Sekunde beenden" scheinen nicht zu funktionieren.

Mit der Aufgabe soll eine Batch ausgeführt werden, welche die Datei umbenennt und wegkopiert. Es ist nur sehr wichtig, dass dies sofort passiert, da es sein kann das nur 1sec später die nächste Datei dort hinkommt. Und ein Trigger "alle 1 Sekunden" würde das System zu stark belasten (wenn es überhaupt geht face-smile )

Deswegen war mein Angang die Erstellung der Datei. Wie gesagt funktioniert das obere Grundsätzlich.

Kann mir jemand auf die Sprünge helfen?

Mit freundlichen Grüßen

Content-Key: 2968521622

Url: https://administrator.de/contentid/2968521622

Printed on: April 23, 2024 at 19:04 o'clock

Member: Hubert.N
Hubert.N Jun 03, 2022 at 11:10:20 (UTC)
Goto Top
Moin

meiner bescheidenen Meinung nach falsche Herangehensweise face-smile

Das Überwachen des Logs auf das Ereignis wird ja so nicht funktionieren, das das Ereignis ja immer da sein wird.

Das Konstrukt erscheint mir auch im Ansatz recht fehleranfällig, weil es (wenn ich es richtig verstehe) passieren kann, dass die Datei durch einen anderen Prozess überschrieben wird bevor sie verarbeitet wurde (?!)

Vlt. wäre es einfacher, dass mit z.B. watchexec zu lösen. Kleines Tool, welches eine Verzeichnis überwacht und bei Veränderungen einen Befehl ausführt.

Gruß
Member: Balgor
Balgor Jun 17, 2022 at 07:02:50 (UTC)
Goto Top
Hallo,

ob es die "falsche" Herangehensweise ist sei mal dahin gestellt, es ist jedenfalls eine andere als die, die du vorgeschlagen hast und vielleicht auch nicht die effizienteste. face-smile
Ich bin nur kein Freund davon für jede Idee/jedes Problem ein kleines Tool zu betreiben, wenn es mit Boardmitteln auch geht.
Ob es schneller und/oder einfacher mit dem Tool geht ist dabei gar nicht mal von Relevanz.

Grundsätzlich hast du es aber richtig erkannt. Es ist möglich, dass die Datei theoretisch nur Millisekunden später wieder überschrieben wird, in der Praxis aber ehr so wahrscheinlich wie ein Lotto-Gewinn.
Deswegen ja auch der Ansatz zu gucken wann die Datei erstellt wurde.

Nachdem ich mir die funktionsweise von watchexec angeschaut habe würde ich sagen das es damit funktionieren könnte.
Dennoch möchte ich die Frage gerne weiterhin im Raum stehen lassen.