Pfade aus CSV mit Powershell überwachen

it-capitain
Goto Top
Hallo zusammen,

ich soll mehrere Pfade mit PowerShell überwachen. Die Pfade sind in einer CSV Datei enthalten:


Ich hätte das jetzt via PowerShell in ein Array gepackt und dann in einer Schleife überwachen wollen, nur leider sind meine PowerShell Skills ungefähr so wie meine Skills als Sushikoch ;)

Jemand einen Tipp wie man damit am besten umgehen kann und soll?

Freue mich über Tipps.

Danke und schönen Abend.

Content-Key: 2762337614

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

Ausgedruckt am: 16.05.2022 um 16:05 Uhr

Mitglied: Crusher79
Crusher79 12.05.2022 aktualisiert um 21:24:25 Uhr
Goto Top
Hallo,

ja so ungefähr. Was überwachen? Datei Änderung? Neue Dateien? Was soll damit passieren?

Was ist wenn niemand angemeldet ist? Als Dienst gewünscht?

Lock mit einbauen? Wenn Script läuft, quasi mit running.lck verhindern, dass es erneut gestartet wird? Kannn auch mal Probleme machen. Lock dann manuell entfernen oder via Function weglöschen und neu erstellen lassen? Damit es sich nicht totrennt....

Was aber ist das Ziel? Bei Datum auf Modify und Creation Date achten. Nicht immer ändert sich letzteres -NTFS Tunnel.

https://www.msxfaq.de/code/filsystemtunnel.htm

......

Dat Ding nennt sich auf den Markt auch mal "Hotfolder". Kannst das ja mal in die Suche einbeziehen.
Mitglied: IT-Capitain
IT-Capitain 13.05.2022 um 08:38:06 Uhr
Goto Top
Es soll überwacht werden, ob Dateien die alter als zB 10min. in dem Pfad liegen.
Das ganze wird als Script auf Nagios Basis laufen.
Mitglied: Crusher79
Crusher79 13.05.2022 aktualisiert um 08:57:13 Uhr
Goto Top
Achso. Ja kein Ding. Hat ich selber mal gebaut um eingescannte Dokument zu prüfen. Ob sie vom Mirth Server auch brav ins DMS gebeamt werden.

Alle paar Minuten geprüft und dann ist gut.

10 - 15 min. heisst aber auch, dass wir hier auf eine Dauer Schleife verzichten können. Also iterieren der CSV JA, aber nicht im Script bleiben. Reicht wenn man es über Taskplaner dann erneut alle x min. aufruft.

Nagios länger nicht gehabt. Was verlangt die Schnittstelle? Antwort von der PS als Parameter? Also wie pumpen wir unser Ergebnis rein? Da müsstest mir mal kurz helfen.


Hier mal Snippet von mir! Nicht volltändig! -9 min und Datei wird für E-Mail Versand (Attachmend) vorbereitet. Du kannst also damit in der inneren Schleife dann auch pro Datei was auslösen. In deinen Fall aber wohl nicht gewünscht.

Mitglied: colinardo
colinardo 13.05.2022 aktualisiert um 09:38:38 Uhr
Goto Top
Servus.
Hatten wir hier zwar schon diverse Threads zu, aber ist halt wie immer ...
Ausgehend von eine so formatierten Datei
In den Taskplaner gepackt (Pfade und Ausgabe natürlich an deine Bedürfnisse anpassen)

Oder als Dauerschleife (schlechter zu managen und abzufragen).
Grüße Uwe
Mitglied: Marabunta
Marabunta 13.05.2022 um 09:02:51 Uhr
Goto Top
Sinn macht es einen Task zu erstellen, der Powershell aufruft und das einmal durchlaufen lässt. Das Ergebnis kann dann Richtung Nagios geschickt werden.
Wenn da nur eine Liste mit Pfaden drin steht, braucht es keine CSV dafür

Ist jetzt nicht getestet oder optimiert:
Mitglied: IT-Capitain
IT-Capitain 13.05.2022 um 11:23:53 Uhr
Goto Top
Vielen Dank schon einmal an alle. Folgendes habe ich jetzt zusammengebaut und ins Nagios integriert.


Irgendwo ist aber noch ein Logikfehler drin, da immer der Status "Ok" ausgegeben wird, auch wenn "uralte" Dateien in den zu überwachenden Pfaden enthalten sind.
Mitglied: colinardo
Lösung colinardo 13.05.2022 aktualisiert um 11:37:27 Uhr
Goto Top
Jepp das geht so nicht, das sollte das machen was du vorhast, wenn die Überschrift der CSV tatsächlich "Pfad" und nicht "Path" wie oben geschrieben ist und der Pfad auch stimmt.
Mitglied: IT-Capitain
IT-Capitain 13.05.2022 um 13:12:06 Uhr
Goto Top
Das klappt ;) Danke. Die Check Intervalle kann ich ja direkt im Nagios definieren.
Mitglied: IT-Capitain
IT-Capitain 13.05.2022 um 15:45:13 Uhr
Goto Top
Wie bekomme ich denn noch untergebracht, dass nur spezielle Filetypes geprüft werden sollen und keine Ordner?

Habe es mit den Filetypes via -Include *.xml getestet, aber da startet das Script nicht mehr
Mitglied: colinardo
Lösung colinardo 13.05.2022 aktualisiert um 16:17:40 Uhr
Goto Top
Zitat von @IT-Capitain:

Wie bekomme ich denn noch untergebracht, dass nur spezielle Filetypes geprüft werden sollen und keine Ordner?

Bei mehreren Endungen und bei nicht rekursiver Suche muss ein Wildcard zum Pfad hinzugefügt werden.
Oder falls es nur eine Erweiterung sein sollte dann mittels Filter
Weitere Variante die ebenfalls einwandfrei funktioniert ist es in die Bedingung des Where-Objects mit aufzunehmen (langsamer)
You have the choice ;-) face-wink

Powershell Link-Leitfaden für Anfänger