Ist es irgendwie möglich ein Powershell Skript via Webcall erreichbar machen?
Hallo,
wir automatisieren gerade unsere Atlassian-Infrastruktur mit Groovy Skripten.
Ein Skript sollte um Rahmen der Ausführung ein Powershell Skript antriggern.
Wir würden also die Variablen der Groovy Skript als Argumente bei der Ausführung des PS Skripts berücksichtigen.
Problem:
das verwendete JIRA-Tool "Scriptrunner for JIRA" kann nur über https Webcalls kommunizieren.
Frage:
ist es irgendwie möglich einen Powershell Skript der lokalen Linux VM über einen Webcall starten?
Ist es irgendwie möglich einen Linux Script via HTTPS erreichbar zu machen oder wir müssen einen externen Hoster wie Postman dazwischen schalten?
Gibt es eventuell lokal laufende Tools, die via https erreichbar sind und ein JSON-Payload entgegennehmen können?
Gr.
JoFla
wir automatisieren gerade unsere Atlassian-Infrastruktur mit Groovy Skripten.
Ein Skript sollte um Rahmen der Ausführung ein Powershell Skript antriggern.
Wir würden also die Variablen der Groovy Skript als Argumente bei der Ausführung des PS Skripts berücksichtigen.
Problem:
das verwendete JIRA-Tool "Scriptrunner for JIRA" kann nur über https Webcalls kommunizieren.
Frage:
ist es irgendwie möglich einen Powershell Skript der lokalen Linux VM über einen Webcall starten?
Ist es irgendwie möglich einen Linux Script via HTTPS erreichbar zu machen oder wir müssen einen externen Hoster wie Postman dazwischen schalten?
Gibt es eventuell lokal laufende Tools, die via https erreichbar sind und ein JSON-Payload entgegennehmen können?
Gr.
JoFla
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 672389
Url: https://administrator.de/forum/ist-es-irgendwie-moeglich-ein-powershell-skript-via-webcall-erreichbar-machen-672389.html
Ausgedruckt am: 13.04.2025 um 17:04 Uhr
5 Kommentare
Neuester Kommentar
Moin,
ich verstehe eure Pipeline nicht ganz.
Ein Powershell-Script wird meistens unter Windows ausgeführt. Unter Linux eher selten.
Versteh ich richtig:
- Das Grovy-Scriptrunner Script soll Powershellscripte auf entfernten Maschinen starten?
Vermutlich suchst du sowas wie WinRM? Oder Alternativ SSH, das gibts inzwischen auch für Windows
Grüße
ich verstehe eure Pipeline nicht ganz.
Ein Powershell-Script wird meistens unter Windows ausgeführt. Unter Linux eher selten.
Versteh ich richtig:
- Das Grovy-Scriptrunner Script soll Powershellscripte auf entfernten Maschinen starten?
Vermutlich suchst du sowas wie WinRM? Oder Alternativ SSH, das gibts inzwischen auch für Windows
Grüße
Ich habe für sowas ähnliches eine eigene Web API in PS geschrieben. Das geht ganz simple.
Man lässt per Powershell einen HttpListener laufen und füttert den mit Aufrufen wie
Im Script wertet man dann die gerufene URL aus, lässt entsprechende Aktionen ausführen und wartet auf das nächste Kommando.
Das Ganze kann man noch mit Parametern versehen. Und Authentifizierung natürlich, damit nicht jeder jedes API-Kommando ausführen kann.
z.B. habe ich das für unsere PrintServer gemacht, damit einige wenige, ausgesuchte Hotline-Mitarbeiter in der Lage sind, ohne erhöte Rechte die Spooler-Dienste durchzustarten.
Oder gleiches für den AADC, wenn mal a.s.a.p. eine Synchronisation nötig ist, und das ein Nicht-Admin auslösen soll.
E.
Man lässt per Powershell einen HttpListener laufen und füttert den mit Aufrufen wie
http://server:port/Command1
Im Script wertet man dann die gerufene URL aus, lässt entsprechende Aktionen ausführen und wartet auf das nächste Kommando.
Das Ganze kann man noch mit Parametern versehen. Und Authentifizierung natürlich, damit nicht jeder jedes API-Kommando ausführen kann.
z.B. habe ich das für unsere PrintServer gemacht, damit einige wenige, ausgesuchte Hotline-Mitarbeiter in der Lage sind, ohne erhöte Rechte die Spooler-Dienste durchzustarten.
Oder gleiches für den AADC, wenn mal a.s.a.p. eine Synchronisation nötig ist, und das ein Nicht-Admin auslösen soll.
E.
Moin,
naja via Webrequest ist ja schon lange bekannt:
https://www.php.net/manual/en/function.shell-exec.php
Nur mit der Sicherheit könnte es hapern. Generell kann man mit PowerShell auch ein Socket laufen lassen, der Anfragen unabhängig von einem Webserver entgegen nimmt.
https://rmauro.dev/socket-client-over-powershell/#sending-the-request
Schnipp - anderer Ansatz:
https://patternbuffer.wordpress.com/2012/09/14/triggering-shell-script-f ...
Via API MySQL füttern und über trigger Dinge auslösen. Du hättest Verlauf automatisch mit dabei. Kannst auch später Dinge anpassen und wiederholen, da die Daten in der DB vorliegen.
Noch mehr Ideen bekommst du vlt, wenn du nach shell_exec + php suchst. Bzw. nach Alternativen.
Im Netzwerk selber wäre es aber durchaus praktikabel mit einen Socket zu arbeiten. PowerShell hat alles dafür.
Ich kenne nur leider Jira, etc. nicht. Die Frage ist nun, wie sich das ganze sinnvoll kombinieren lässt.
naja via Webrequest ist ja schon lange bekannt:
https://www.php.net/manual/en/function.shell-exec.php
Nur mit der Sicherheit könnte es hapern. Generell kann man mit PowerShell auch ein Socket laufen lassen, der Anfragen unabhängig von einem Webserver entgegen nimmt.
https://rmauro.dev/socket-client-over-powershell/#sending-the-request
Schnipp - anderer Ansatz:
https://patternbuffer.wordpress.com/2012/09/14/triggering-shell-script-f ...
Via API MySQL füttern und über trigger Dinge auslösen. Du hättest Verlauf automatisch mit dabei. Kannst auch später Dinge anpassen und wiederholen, da die Daten in der DB vorliegen.
Noch mehr Ideen bekommst du vlt, wenn du nach shell_exec + php suchst. Bzw. nach Alternativen.
Im Netzwerk selber wäre es aber durchaus praktikabel mit einen Socket zu arbeiten. PowerShell hat alles dafür.
Ich kenne nur leider Jira, etc. nicht. Die Frage ist nun, wie sich das ganze sinnvoll kombinieren lässt.
Schau dir mal OliveTin an, das hat eine entsprechende REST-API und kann genutzt werden, um lokal Skripte auszuführen.