Über HTML Button eine Applikation an triggern die Lokal abliegt ?
Hallo, ich möchte über einen Button auf meiner HTML Seite ein Programm öffnen. Ist es möglich dies per PowerShell zu tun ? Hätte sonst noch jemand eine Idee wie das realisierbar wäre ? Die HTML Website ist aktuell auch lokal auf meinem PC in Zukunft möchte ich diese aber auf einem Server hosten. Die Application liegt lokal auf dem C:\.... ab.
Klick auf Button (in HTML Website) -> Start der PowerShell -> Programm wird geöffnet
4 Antworten
das geht nicht.
Möglich wäre es via PHP ein Powershellscript auf dem Server zu starten (sofern PowerShell auf dem Server installiert ist), welches Programm auf dem Server startet. aber das wäre schon Quatsch.
Du kannst aber nicht vom Server aus ein Powershellscript auf Deinem lokalen Rechner oder einem Clientrechner starten...etc.
Nein, das ist in den meisten Browsern nicht möglich. Das gehört auch zu den meisten Browsern als grundlegendes Sicherheitskonzept. Es soll keine Seite möglich sein Programme zu starten oder auf das Dateisystem zugreifen zu können. Mit einer Öffnung würde man jedem Angreifer Türe und Tore öffnen und es wäre extrem gefährlich im Internet zu surfen. Browser sollten eher wie eine Sandbox arbeiten und keinen Zugriff auf das System erlauben. Mit Ausnahmen wie LocalStorage, Cookies und IndexedDB sollten keine lokalen Dateien oder Zugriffe entstehen.
Das geht mehr oder weniger. Natürlich ist der Zugriff auf deinen Computer begrenzt. Einige Programme bieten aber die Möglichkeit, dass man diese aufruft. Ich glaube bei vscode startet es mit vscode://... oder so.
Naja, wie gesagt, damit sollte es gehen. Alternativ hast du die Möglichkeit, dass der Client ein Programm installieren muss, was auf Befehle von der Seite lauscht. Das kannst du aber als Website Betreiber nicht installieren beim Client.
https://stackoverflow.com/questions/53140692/how-to-open-a-file-in-vscode-from-browser
Das geht (leider) nicht (mehr). PowerShell ist sehr mächtig, weshalb man damit auch viel Schaden anrichten kann. Wenn jetzt jede Seite PowerShell Befehle ausführen könnte, wäre das ne Katastrophe.
Es gibt aber eventuell noch eine andere Lösung...
Du könntest eine lokale API aufsetzen (z.B. mit expressjs) und dann zum Beispiel eine HTTP Request an localhost:8000/api/irgendwas senden. Den Express Server packst du in den Autostart rein und der Server führt dann bei einer Request einen PowerShell Befehl oder was anderes aus...