Inhaltsverzeichnis

Was ist der PowerShell AS Host

Der PowerShell AS Host ist ein C# Programm auf .NET 4.8 oder .NET 8.0 Basis, das hier einen kleinen HTTP Server auf Basis von GrapeVine zur Verfügung stellt. In diesem können PowerShell Scripte kontrolliert ausgeführt werden und somit einen Windows TaskPlaner ersetzen. Des Weiteren ist es möglich Skripte per REST Endpunkt an Consumer zur Verfügung zu stellen, damit diese die Skripte mit Parametern aufrufen können.

Hintergründe über die Schaffung

PowerShell Coder sind in großen Unternehmen weit verbreitet, weil sie hier als die Automatisierer der Branche etabliert sind. Das Java Pendant Beanshell hat bei weitem nicht so große Marktanteile wie die PowerShell. PERL, PHP und Bash sind zwar noch nicht ausgestorben, meist aber auch nicht mehr so verbreitet wie früher. PowerShell hat vor allem einen großen Vorteil. Die Syntax ist einfach, die Cmdlets sind meist reine Befehlsketten. KI kann solche Skripte leicht bauen, im Grunde sind sie leicht verständlich.

Nachteile der PowerShell: aufgrund der leicht verständlichen Syntax trauen sich auch Admins ohne Programmierkenntnisse drüber, die aber meist nicht so sonderlich gegenreflektieren können, was sie mit dieser oder jener Änderung eigentlich bewirken. Wo Entwickler eher länger überlegen, handeln die auch schneller. Die Wahrscheinlichkeit, dass Laien hier „nicht funktionablen“ Code durch Änderungen produzieren ist hier also gering.

Das .NET Framework hat sich neben der Java Runtime zu einer festen Größe entwickelt. Nach der Java Generation hatten wir im Programmierumfeld ja die C# Generation, beide matchen sich jetzt mit der Python Generation. Die ELO Automation Services forderten ja entweder, dass das Archiv mit Skripten angereichert wird oder mit Java Programmierkenntnissen und dem entsprechenden Build Aufwand externe JAR Dateien mit eingebunden werden.

Architektur

Wie bereits erwähnt handelt es sich um einen GrapeVine Server, hier ist noch die ältere Version 4 im Einsatz. GrapeVine fußt im Gegensatz zu Kestrel seine HTTP Implementation unter Windows auf der http.sys, die Teil des Windows-Betriebssystems ist. URL Freischaltungen werden also über die Netshell von Windows (netsh) koordiniert. Wichtige Befehle:

Installation

Die Programmdateien nehmen und in ein Verzeichnis extrahieren. Wird hier direkt der ELOprofessional prog Ordner gewählt, dann werden automatisch die Ordner für die Verarbeitung festgelegt. Darüber hinaus werden die Logback.xml Dateien der ELO Systemkomponenten gelesen, um hier automatisiert ein Log-Verzeichnis zu ermitteln. Die Programmdatei NovomediaPowerShellAS.exe (.NET 4.8) oder ISDA.PowerShellASHost.exe mit dem Parameter „/i“ oder „/r“ aufrufen, dann erfolgt eine Registrierung des Dienstes mit sc.exe.

Default-Ports

Kann man den PowerShell AS Host käuflich erwerben

Eigentlich ja, aber eigentlich auch eher nicht. Man kann hier unter sales@issp.cc anfragen, er ist Teil des PowerShell Frameworks und eigentlich ein Nebenprodukt zu den PowerShell Cmdlets von ISSP, hier beginnen die Preise bei in etwa 10k EUR. Wer hier eine gleichwertige Alternative sucht ist hier bei folgenden Herstellern möglicherweise richtig: