ReportWeb Konfigurationsdatei
Alle Einstellungen für ReportWeb werden über eine XML-Datei angegeben, die im Verzeichnis "CONFIG" liegt. Sie besteht aus dem einen Hauptknoten "reportweb" mit ganz vielen unter
Jobliste ist eine CSV-Datei, welche alle Module und deren Parameter enthält. Wenn Sie also ein neues Modul addieren, dann müssen Sie dieses nicht nur auf dem Server in einem Verzeichnis bereit stellen, sondern auch in der Jobliste referenzieren. Denn nur dann wird das jeweilige Modul vom Hauptprogramm auch aufgerufen.
Funktion
Das Hauptprogramm liest diese CSV-Datei bei jedem Start frisch ein und arbeitet diese sequentiell ab.
Aufbau und Felder
Eine Musterdatei hat z.B. folgenden Aufbau.
- Encoding: UNICODE
PowerShell akzeptiert verschiedene Encodings. Wenn Aber z.B.: Titel mit umlauten verwendet werden, sollte das Programm nicht "raten" müssen - Delimiter = ","
Auch wenn Excel in Deutschland die Spalten lieber per ";" trennt, bleibe ich beim PowerShell- Standard mit ","
"name","interval","title","modul","template","outfile","depend" "dagstatus",1,"DAGStatus","report-dagstatus","statustemplate.htm","dagstatus.htm","" "queues",1,"Queues","report-queues","statustemplate.htm","queues.htm","" "mbreport",60,"Mailbox Report","report-mailbox","statustemplate.htm","mailbox.htm",""
"name","interval","title","reportmodul","parameter","smtpto","template","outfile","Description"
Die Felder bedeuten im Einzelnen:
Feld | Beschreibung |
---|---|
name |
Jede Zeile muss einen Namen haben, der z.B. beim Start des Hauptprogramms als Parameter angegeben werden kann. Das Hauptprogramm startet dann einfach das entsprechende Modul, wenn das Intervall abgelaufen ist. |
interval |
Um exzessive Aufrufe zu verhindern können Sie pro Zeile ein Intervall in Minuten angeben, welches mindestens vergehen muss, ehe das Programm das Skript erneut aufruft. Sicher wird ein Administrator seinen Server nicht überlasten wollen, aber wenn zukünftig das Modul z.B.: über einen Trigger auch extern angestoßen werden kann, ist dies eine einfache Möglichkeit einer Drosselung. |
title |
Der Titel wird vom Hauptprogramm genutzt, um in der HTML-Datei den Titel zu setzen |
reportmodul |
Dies ist de Name des Report-Modules (PowerShell-Skript), welches aufgerufen wird und über die Pipeline die Ausgaben zurück liefert. |
parameter |
Ein optionaler Parameter, der mit an das Reportmodul übergeben wird. So kann ein report-PS1 z. B. mehrere Reports erstellen |
smtpto |
Hier kann eine Default Mailadresse angegeben werden, an die Mails dieses Report gehen. Der Report kann aber die SMTPTO-Adresse überschreiben. |
template |
Dateiname der Vorlage zum Einfügen der Ergebnisse |
Outfile |
Dateiname der zu schreibenden HTML-Datei. Sollte "NICHT" identisch mit der Vorlage sein |
Description |
Freies Kommentarfeld zur Beschreibung. Dies wird in der Statusübersicht mit ausgegeben. |
Die Liste der Reports wird sequentiell von oben nach unten abgearbeitet. Es gibt keine Abhängigkeiten o.ä. Sollten mehrere Reports auf den gleichen Datenbestand zugreifen, so sollten die Reports selbst sich um die Aktualisierung der Daten kümmern und auch damit umgehen, dass mehrere Reports parallel ablaufen.
Abhängigkeiten