Benutzer-Werkzeuge

Webseiten-Werkzeuge


elo:psashost

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
elo:psashost [2026/02/27 00:02] 80.120.119.202elo:psashost [2026/02/27 12:52] (aktuell) 89.144.192.18
Zeile 2: Zeile 2:
  
 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. 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:
 +
 +  * netsh http show urlacl / netsh http add urlacl
 +    * Zeigt URL ACLs an oder legt diese an.
 +    * Der AS-Host durchläuft beim Start die ACL Liste und prüft, wo hier der Applikationsname SWXPowerShellASHost mit drinnen ist
 +    * Je nach Protokollpräfix (http/https) wird hier der GrapeVine Server angewiesen einen HTTP oder HTTPS Listener zu installieren
 +    * Enthält die URL den Teilstring /apikey/ so wird ein authentifizierungsloser Listener installiert, der hier den Endpunkt über einen Header „X-API-Key“ absichert
 +    * Enthält die URL den Teilstring /ntlm/ wird Windows Authentifizierung verwendet
 +    * Enthält die URL keinen Hinweis, so wird der Endpunkt über Basic-Authentifizierung abgesichert
 +  * netsh http ssl certadd
 +    * Hier können Zertifikate aus dem Zertifikatsstore gebunden werden
 +    * Dieser ist in Windows unter mmc.exe / Snap-In hinzufügen, Zertifikatsdienste erreichbar
 +
 +===== 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 =====
 +
 +  * HTTP-Binding: 34879
 +  * HTTPs-Binding: 35879
  
 ===== Kann man den PowerShell AS Host käuflich erwerben ===== ===== Kann man den PowerShell AS Host käuflich erwerben =====
elo/psashost.1772150537.txt.gz · Zuletzt geändert: 2026/02/27 00:02 von 80.120.119.202