Druckserver 6/7: Liste von Netzwerkdruckern als HTML-Datei aus Powershell erzeugen (für Puristen)

Bei meinen ersten Gehversuchen in Powershell bin ich auf den Befehl „ConvertTo-Html“ gestoßen. Daraus reifte die Idee, die Druckerübersicht gleich in eine HTML-Datei zu exportieren.
Der Vorteil: man kann diese Datei z.B.: in einer Read-Only-Freigabe bereitstellen, ohne dass weitere Dienste -wie z.B.: ein Webserver- installiert/aktiviert werden muss. Sozusagen eine Lösung für Puristen 😉

Der Vorteil, keinen Webserver zu benötigen, liegt darin, dass keine weiteren angreifbaren Dienste gestartet werden.
Hat seinen Charme.

Grundsätzlich ist der Befehl einfach anzuwenden; anstelle von „ExportTo-CSV“ verwendet man „ConvertTo-Html“.
Was erstmal so einfach klingt, ergibt dann jedoch ein weiteres Problem: ich habe ja 3 Server abzurufen.
Der Befehl „ConvertTo-Hmtl“ erzeugt eine komplette Webseite mit Head-, Body- und Table-Bereichen.
Selbst wenn man den Parameter „-Fragment“ verwendet, wird immer noch eine HTML-Tabelle mit <table> und </table> erzeugt.
Aus diesem Grund bleibe ich bei meiner vorherigen Routine mit der „komplett.csv“ und wandle diese in ein HTML um.

Die bisherige Routine:

Jetzt gilt es die CSV-Datei in eine HTML zu verwandeln.

Dazu rufe ich die erzeugte CSV auf, aber es gibt einen kleinen Haken: ich habe alle Kopfzeilen abgeschnitten.
Somit weiß der ConvertTo-Befehl nicht, was er zu machen hat. Ich muss also die Kopfzeilen manuell übergeben.

Das war´s auch schon.
Jetzt habe ich eine HTML-Datei – nicht schön, aber sie funktioniert.

Jetzt gebe ich dem Ganzen noch etwas mehr Form: Einen Rahmen und Hintergrundfarbe der Überschriftspalten.
Um den Befehl übersichtlich zu halten, schreibe ich die Parameter in eine Variable für den Head-Content „$heac“

und erweitere den Befehl „ConvertTo-Html“ mit dem Parameter „-head $heac“

Sieht schon schöner aus.

Kann man aber immer noch pimpen: z.B: mit einer Überschirft.
Diese kommt in den „Body“ und kann mit dem gleichnamigen Parameter gesetzt werden:

Diese Datei kann nun, wie oben erwähnt, über eine Freigabe (z.B.: Read-Only) zur Verfügung gestellt werden oder auch auf den lokalen Rechner kopiert und genutzt werden – ohne Netzwerkverbindung.
Also „Offline“.

Aber irgendwie fehlen noch die „gewohnten“ zusätzlichen Angaben und die Suchfunktion, wie im PHP-Skript in den vorherigen Beiträgen.

Weiter geht’s im nächsten Teil