Démarrer un script PowerShell via un site web
Fermé
Tromar01
Messages postés
8
Date d'inscription
samedi 26 décembre 2020
Statut
Membre
Dernière intervention
6 janvier 2022
-
5 janv. 2022 à 23:06
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 - 6 janv. 2022 à 17:55
Tromar01 Messages postés 8 Date d'inscription samedi 26 décembre 2020 Statut Membre Dernière intervention 6 janvier 2022 - 6 janv. 2022 à 17:55
A voir également:
- Lancer powershell en ligne de commande
- Invite de commande - Guide
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Commande terminal mac - Guide
- Aller à la ligne excel - Guide
1 réponse
Salut,
non en effet c'est impossible que le navigateur web soit autorisé de lui même à exécuter un programme et ce pour une raison évidente. Imaginez les risques si en affichant un site vous lancez un programme sur l'ordinateur. Sans parler même de virus c'est la porte ouverte à tout les dangers et visionner une page web pourrait simplement effacer le disque dur ou faire des actions malveillantes, installer n'importe quel logiciel non voulu, encore plus vrai s'il s'agit de commandes shell qui permet pas mal de choses.
Par contre je ne comprends pas ceci:
"d'exécuter mon script sans avoir à le télécharger"
Bon pour la partie exécuter un programme de force(quel que soit la nature du programme) j'ai répondu mais je ne comprends pas ce que vous appelez ne pas avoir à "télécharger". Il faut que vous revoyez comment fonctionne un réseau, plus particulièrement le service WWW du réseau Internet. Sans téléchargement (montant et descendant -down/upload ) = pas de réseau et encore moins de site Internet. Télécharger signifie charger à distance, pour un réseau c'est donc mettre à disposition une ressource(exemple les fichiers d'un site Internet), les fichiers n'apparaissent pas par magie mais sont diffusés sur le réseau. C'est même ce qui définit un réseau: partager des contenus(donc charger des fichiers sur un ordinateur ou un autre du réseau de manière distante).
Le type de programmation n'est donc pas vraiment en cause mais c'est le principe même que vous demandez qui est impossible par la nature même d'utiliser le WWW.
Les autres solutions:
vous pouvez mettre à disposition le fichier sur le réseau pour le télécharger et ensuite l'exécuter sur l'ordinateur client mais dans ce cas il faudra être présent physiquement(ou demander au client de télécharger le fichier de programme) pour ensuite l'exécuter.
Avec un bon système d'information (ie: une base de données et son programme de gestion) vous pouvez facilement mettre celui ci à jour.
Utiliser un réseau qui permet ce que vous voulez, donc un réseau ou vous êtes administrateur et pouvez tout faire sur les ordinateurs du réseau, il existe aussi des logiciels qui permettent cela et qui consiste à prendre la main sur les ordinateurs du réseau( = administrer ceux ci).
Je pense aussi à Linux en SSH(type de connexion réseau sécurisé) et utiliser du BASHR(équivalent du SHELL Windows mais pour Linux) qui est beaucoup plus souple il me semble pour ce genre d'utilisation ou en tout cas beaucoup plus fonctionnel il me semble. Bien sûr cela n'est possible qu'avec des ordinateurs sous Linux donc je ne mets cette solution qu'en dernier.
Une autre possibilité envisageable dépends des fonctionnalités que vous voulez effectuer. S'il ne s'agit que de télécharger des fichiers cela peut simplement passer par WWW en utilisant un lien (HTML), exemple:
https://www.w3schools.com/TAGS/att_a_download.asp
Pour ce que doivent faire les autres lignes de commande ça dépends donc des lignes de commande en question et évidemment de la mise en place d'un système d'information sur réseau: une base de données et son programme qui fournissent la page si celui ci est nécessaire. Si par exemple vous devez gérer des données cette solution reste la plus pérenne(automatisation des traitements pour fournir ces données et les modifier/ajouter éventuellement aussi).
Mais effectivement pour intervenir sur le contenu d'un ordinateur(autre que télécharger un fichier et utiliser le cache du navigateur ou autres stockage provisoire mais limité fait par le navigateur) les restrictions de sécurité mentionnées s'appliquent donc vous ne pouvez créer ou modifier les répertoires et leur contenus par ce moyen. Pas de modification ou ajout de programme directement(lorsqu'un fichier de programme est téléchargé il y a un avertissement au téléchargement de celui ci puis un avertissement lorsque le fichier est lancé pour être exécuté).
Il me semble assez simple par contre d'indiquer auprès de vos clients comment cliquer sur un lien pour télécharger le fichier de script et indiquer comment exécuter celui ci en ligne de commande(et indiquer d'accepter quand il y a un avertissement). Mais là on s'éloigne de la demande initiale.
Des solutions il y en a plein d'autres mais comme indiqué tout dépends de ce que vous voulez faire(et du temps de travail/importance que vous accordez pour le résultat voulu)
Quelques exemples possible:
https://suttonedfoundation.org/fr/90128-how-to-execute-bash-with-ssh-connection-bash-unix-ssh.html
https://blog.ronanlefichant.fr/2019/07/commande-powershell-java.html
non en effet c'est impossible que le navigateur web soit autorisé de lui même à exécuter un programme et ce pour une raison évidente. Imaginez les risques si en affichant un site vous lancez un programme sur l'ordinateur. Sans parler même de virus c'est la porte ouverte à tout les dangers et visionner une page web pourrait simplement effacer le disque dur ou faire des actions malveillantes, installer n'importe quel logiciel non voulu, encore plus vrai s'il s'agit de commandes shell qui permet pas mal de choses.
Par contre je ne comprends pas ceci:
"d'exécuter mon script sans avoir à le télécharger"
Bon pour la partie exécuter un programme de force(quel que soit la nature du programme) j'ai répondu mais je ne comprends pas ce que vous appelez ne pas avoir à "télécharger". Il faut que vous revoyez comment fonctionne un réseau, plus particulièrement le service WWW du réseau Internet. Sans téléchargement (montant et descendant -down/upload ) = pas de réseau et encore moins de site Internet. Télécharger signifie charger à distance, pour un réseau c'est donc mettre à disposition une ressource(exemple les fichiers d'un site Internet), les fichiers n'apparaissent pas par magie mais sont diffusés sur le réseau. C'est même ce qui définit un réseau: partager des contenus(donc charger des fichiers sur un ordinateur ou un autre du réseau de manière distante).
Le type de programmation n'est donc pas vraiment en cause mais c'est le principe même que vous demandez qui est impossible par la nature même d'utiliser le WWW.
Les autres solutions:
vous pouvez mettre à disposition le fichier sur le réseau pour le télécharger et ensuite l'exécuter sur l'ordinateur client mais dans ce cas il faudra être présent physiquement(ou demander au client de télécharger le fichier de programme) pour ensuite l'exécuter.
Avec un bon système d'information (ie: une base de données et son programme de gestion) vous pouvez facilement mettre celui ci à jour.
Utiliser un réseau qui permet ce que vous voulez, donc un réseau ou vous êtes administrateur et pouvez tout faire sur les ordinateurs du réseau, il existe aussi des logiciels qui permettent cela et qui consiste à prendre la main sur les ordinateurs du réseau( = administrer ceux ci).
Je pense aussi à Linux en SSH(type de connexion réseau sécurisé) et utiliser du BASHR(équivalent du SHELL Windows mais pour Linux) qui est beaucoup plus souple il me semble pour ce genre d'utilisation ou en tout cas beaucoup plus fonctionnel il me semble. Bien sûr cela n'est possible qu'avec des ordinateurs sous Linux donc je ne mets cette solution qu'en dernier.
Une autre possibilité envisageable dépends des fonctionnalités que vous voulez effectuer. S'il ne s'agit que de télécharger des fichiers cela peut simplement passer par WWW en utilisant un lien (HTML), exemple:
https://www.w3schools.com/TAGS/att_a_download.asp
Pour ce que doivent faire les autres lignes de commande ça dépends donc des lignes de commande en question et évidemment de la mise en place d'un système d'information sur réseau: une base de données et son programme qui fournissent la page si celui ci est nécessaire. Si par exemple vous devez gérer des données cette solution reste la plus pérenne(automatisation des traitements pour fournir ces données et les modifier/ajouter éventuellement aussi).
Mais effectivement pour intervenir sur le contenu d'un ordinateur(autre que télécharger un fichier et utiliser le cache du navigateur ou autres stockage provisoire mais limité fait par le navigateur) les restrictions de sécurité mentionnées s'appliquent donc vous ne pouvez créer ou modifier les répertoires et leur contenus par ce moyen. Pas de modification ou ajout de programme directement(lorsqu'un fichier de programme est téléchargé il y a un avertissement au téléchargement de celui ci puis un avertissement lorsque le fichier est lancé pour être exécuté).
Il me semble assez simple par contre d'indiquer auprès de vos clients comment cliquer sur un lien pour télécharger le fichier de script et indiquer comment exécuter celui ci en ligne de commande(et indiquer d'accepter quand il y a un avertissement). Mais là on s'éloigne de la demande initiale.
Des solutions il y en a plein d'autres mais comme indiqué tout dépends de ce que vous voulez faire(et du temps de travail/importance que vous accordez pour le résultat voulu)
Quelques exemples possible:
https://suttonedfoundation.org/fr/90128-how-to-execute-bash-with-ssh-connection-bash-unix-ssh.html
https://blog.ronanlefichant.fr/2019/07/commande-powershell-java.html
6 janv. 2022 à 17:55
J’utilisais déjà mon site web pour télécharger mes fichiers sur l'ordinateur des clients au besoin, mais voulais simplement trouver une solution pour ne pas embourber leurs PC de fichiers qu'ils n'utiliseront pas et que je supprime à chaque fois à la fin de la session.
J'ai modifier mon fichier .ps1 en .exe avec PS1 to EXE qui fonctionne très bien, il permet d'ajouté des fichiers temporaires à l'ouverture du fichier exécutable et des supprimés à la fermeture, mais le fichier lui-même demeure présent à la fermeture. Et autre problématique avec cette méthode, c'est que certain antivirus bloque le fichier et je n'ai pas trouvé encore comment le rendre "safe" pour les antivirus :/
"Avec un bon système d'information (ie: une base de données et son programme de gestion) vous pouvez facilement mettre celui-ci à jour."
je crois effectivement que ceci peut m'aider, je devrai faire mes devoirs pour ça ;)
"Des solutions il y en a plein d'autres, mais comme indiqué tout dépends de ce que vous voulez faire(et du temps de travail/importance que vous accordez pour le résultat voulu)"
ah!! Je suis persévérant, j'en passe des nuits blanches parfois quand je n'arrive pas à faire ce que je veux jusqu'à ce que ça fonctionne haha.
Merci encore pour votre réponse :)