Executer des scripts powershell sous html- HELP
Fermé
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
-
16 janv. 2019 à 10:58
allybrbs Messages postés 6 Date d'inscription mercredi 16 janvier 2019 Statut Membre Dernière intervention 17 janvier 2019 - 17 janv. 2019 à 09:04
allybrbs Messages postés 6 Date d'inscription mercredi 16 janvier 2019 Statut Membre Dernière intervention 17 janvier 2019 - 17 janv. 2019 à 09:04
A voir également:
- Html powershell script
- Script vidéo youtube - Guide
- Editeur html - Télécharger - HTML
- Br html - Forum HTML
- &Nbsp html - Forum HTML
- Espace en html - Astuces et Solutions
3 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 094
Modifié le 16 janv. 2019 à 14:45
Modifié le 16 janv. 2019 à 14:45
Salut allybrbs,
Comme tes fichiers html semblent déjà faits, tu pourrais y insérer des marqueurs à la place des informations à afficher, et utiliser Powershell pour remplacer les marqueurs par les informations que tu veux y mettre et t'en servir comme modèles. Tu te sers ainsi de tes fichiers html comme de templates, pour générer les fichiers html remplis des informations souhaitées.
Par exemple, disons que le fichier
Ensuite, dans ton script Powershell où tu détermines le nom de la machine que tu mets dans une variable nommée, par exemple,
(non testé, je ne suis pas sous Windows)
et tu as créé un fichier
C'est juste une idée.. pour faire ce que tu veux à partir de ce que tu sembles avoir déjà fait.
Dal
Comme tes fichiers html semblent déjà faits, tu pourrais y insérer des marqueurs à la place des informations à afficher, et utiliser Powershell pour remplacer les marqueurs par les informations que tu veux y mettre et t'en servir comme modèles. Tu te sers ainsi de tes fichiers html comme de templates, pour générer les fichiers html remplis des informations souhaitées.
Par exemple, disons que le fichier
template-infos.htmlcontient un
<div>devant comporter le nom de la machine. Tu mets
zzzNOMMACHINEzzzà l'endroit où celui-ci doit apparaître.
Ensuite, dans ton script Powershell où tu détermines le nom de la machine que tu mets dans une variable nommée, par exemple,
$nommachine, tu fais quelque chose comme :
cat template-infos.html | %{$_ -replace "zzzNOMMACHINEzzz",$nommachine} > infos.html
(non testé, je ne suis pas sous Windows)
et tu as créé un fichier
infos.htmlpouvant être affiché par un navigateur ou un interpréteur html, intégrant les informations en dur dans cette page statique, et cela à partir de
template-infos.html.
C'est juste une idée.. pour faire ce que tu veux à partir de ce que tu sembles avoir déjà fait.
Dal
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
16 janv. 2019 à 11:32
16 janv. 2019 à 11:32
Bonjour,
Déjà... le html n'exécute aucun script ...
Le html est un langage de description (pas de programmation) permettant d'indiquer à un navigateur internet comment est structuré le contenu à afficher.
Ensuite, je vois que dans ton code tu as du PHP.
Là.. il faut savoir que le php s'exécute côté SERVEUR et pas côté poste utilisateur.
Pour ce qui est de récupérer directement les informations du poste utilisateur... aucune page web, pour des raisons de sécurité évidentes..., ne peut le faire !
Ce que j'ai du mal à comprendre.. c'est que tu veuilles "récupérer" les infos lorsque l'utilisateur ira sur la page .. c'est bien ça ??
Dans la logique, pour une gestion de parc, les scripts de récupération d'info (comme ceux que tu as écris en powershell) sont exécutés automatiquement sur tous les postes utilisateur (via une GPAO -> active directory) ou à la limité en effectuant ce lancement au démarrage de l'ordinateur.
Ces informations sont ensuite centralisées dans une base de données
De là.. tu peux récupérer les infos (en php par exemple) et les afficher dans ta page web .
Mais quand je vois l'exemple de résultat retourné.. j'ai l'impression que le php n'est pas interprété...
Tes pages web.. sont hébergées en local sur l'ordi de l'utilisateur.. ou sur un serveur ? serveur sur lequel un apache/php a été installé et est en fonctionnement ??
bref... beaucoup d'incohérences dans ta demande, et certainement dans tes recherches/tests ...
Merci de clarifier au mieux :
- Les besoins
- Les contraintes
- L'environnement ( OS... serveur web..., emplacement des fichiers..... etc ...)
Déjà... le html n'exécute aucun script ...
Le html est un langage de description (pas de programmation) permettant d'indiquer à un navigateur internet comment est structuré le contenu à afficher.
Ensuite, je vois que dans ton code tu as du PHP.
Là.. il faut savoir que le php s'exécute côté SERVEUR et pas côté poste utilisateur.
Pour ce qui est de récupérer directement les informations du poste utilisateur... aucune page web, pour des raisons de sécurité évidentes..., ne peut le faire !
Ce que j'ai du mal à comprendre.. c'est que tu veuilles "récupérer" les infos lorsque l'utilisateur ira sur la page .. c'est bien ça ??
Dans la logique, pour une gestion de parc, les scripts de récupération d'info (comme ceux que tu as écris en powershell) sont exécutés automatiquement sur tous les postes utilisateur (via une GPAO -> active directory) ou à la limité en effectuant ce lancement au démarrage de l'ordinateur.
Ces informations sont ensuite centralisées dans une base de données
De là.. tu peux récupérer les infos (en php par exemple) et les afficher dans ta page web .
Mais quand je vois l'exemple de résultat retourné.. j'ai l'impression que le php n'est pas interprété...
Tes pages web.. sont hébergées en local sur l'ordi de l'utilisateur.. ou sur un serveur ? serveur sur lequel un apache/php a été installé et est en fonctionnement ??
bref... beaucoup d'incohérences dans ta demande, et certainement dans tes recherches/tests ...
Merci de clarifier au mieux :
- Les besoins
- Les contraintes
- L'environnement ( OS... serveur web..., emplacement des fichiers..... etc ...)
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
Modifié le 16 janv. 2019 à 11:45
Modifié le 16 janv. 2019 à 11:45
Bonjour Jordane45,
Et bien je pense que les besoins contraintes etc sont bien défini : je dois créer une page web sous html qui affiche (dans mon tableau) des informations techniques d'une machine pour les équipes d'intervention. cette page sera ensuite afficher dans le centre logiciel (qui n'affiche que des pages html). je dois uniquement utilisé du matériel qui est déjà de base sur le pc sous win10 (donc pas de logiciel ou autres et certains pc sont en win7) et l'emplacement des fichiers sera sur chaque machines grâce à SCCM comme je l'ai dis précédemment.
Je ne vois pas ce que je devrais rajouter, tout a déjà été dit..
Pourtant toutes les pages web, récupères les infos de nos pc, toutes sans exceptions. Si d'autres peuvent le faire, je dois pouvoir le faire aussi.. Surtout que ici, ce sont des employés donc il n'y a aucuns souci de sécurité, c'est seulement des informations randoms comme le nom de la machine, l'adresse ip, capacités des disques etc.
Je ne vois pas ce que tu ne comprends pas.. Lors que l'utilisateur se rendra dans le centre logiciel, toutes les infos seront regroupées, qu'est ce qui n'est pas clair ???
Encore une fois, il n'y a pas de serveur, car c'est une page en local sur chaque pc via le SCCM.
Si il n'y a pas de BDD je vois pas comment je peux utilisé ta technique, surtout que je dois restée sur le principe d'une page intranet.
Je crois que tu as dû mal lire mon tropic parce que la plus part des choses que tu demandes son déjà données ou spécifiées.
Merci de me donner ta solution concrète si tu en as une, car pour l'instant je ne comprends pas où tu veux en venir malheureusement...
Et bien je pense que les besoins contraintes etc sont bien défini : je dois créer une page web sous html qui affiche (dans mon tableau) des informations techniques d'une machine pour les équipes d'intervention. cette page sera ensuite afficher dans le centre logiciel (qui n'affiche que des pages html). je dois uniquement utilisé du matériel qui est déjà de base sur le pc sous win10 (donc pas de logiciel ou autres et certains pc sont en win7) et l'emplacement des fichiers sera sur chaque machines grâce à SCCM comme je l'ai dis précédemment.
Je ne vois pas ce que je devrais rajouter, tout a déjà été dit..
Pourtant toutes les pages web, récupères les infos de nos pc, toutes sans exceptions. Si d'autres peuvent le faire, je dois pouvoir le faire aussi.. Surtout que ici, ce sont des employés donc il n'y a aucuns souci de sécurité, c'est seulement des informations randoms comme le nom de la machine, l'adresse ip, capacités des disques etc.
Je ne vois pas ce que tu ne comprends pas.. Lors que l'utilisateur se rendra dans le centre logiciel, toutes les infos seront regroupées, qu'est ce qui n'est pas clair ???
Encore une fois, il n'y a pas de serveur, car c'est une page en local sur chaque pc via le SCCM.
Si il n'y a pas de BDD je vois pas comment je peux utilisé ta technique, surtout que je dois restée sur le principe d'une page intranet.
Je crois que tu as dû mal lire mon tropic parce que la plus part des choses que tu demandes son déjà données ou spécifiées.
Merci de me donner ta solution concrète si tu en as une, car pour l'instant je ne comprends pas où tu veux en venir malheureusement...
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
16 janv. 2019 à 12:17
16 janv. 2019 à 12:17
Donc...
Donc tu ne peux pas faire tourner de langage tel que le php (comme dans les exemples que tu as testé ).
Sachant que juste avant tu as indiqué
Regarde ce que intranet signifie...
Tu peux comprendre ma mauvaise compréhension vu les erreurs que tu as introduit dans ton explication..
Sans parler des exemples que tu as testé contenant du php...
Les pages web .. lesquelles ???
Mais vu que les fichiers html seront placés directement sur le poste de l'utilisateur...
Ne crois tu pas que tu prends le problème à l'envers...
Je pense que ce sont les scripts qui créént les fichier html ... et pas le html qui "appelle" les scripts....
Encore une fois, il n'y a pas de serveur, car c'est une page en local sur chaque pc via le SCCM.
Si il n'y a pas de BDD je vois pas comment je peux utilisé ta technique, surtout que je dois restée sur le principe d'une page intranet.
Donc tu ne peux pas faire tourner de langage tel que le php (comme dans les exemples que tu as testé ).
Sachant que juste avant tu as indiqué
avoir une page intranet
Regarde ce que intranet signifie...
Je crois que tu as dû mal lire mon tropic parce que la plus part des choses que tu demandes son déjà données ou spécifiées.
Tu peux comprendre ma mauvaise compréhension vu les erreurs que tu as introduit dans ton explication..
Sans parler des exemples que tu as testé contenant du php...
Pourtant toutes les pages web, récupères les infos de nos pc, toutes sans exceptions. Si d'autres peuvent le faire, je dois pouvoir le faire aussi..
Les pages web .. lesquelles ???
Mais vu que les fichiers html seront placés directement sur le poste de l'utilisateur...
Ne crois tu pas que tu prends le problème à l'envers...
Je pense que ce sont les scripts qui créént les fichier html ... et pas le html qui "appelle" les scripts....
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
16 janv. 2019 à 12:28
16 janv. 2019 à 12:28
Mais justement, je n'utilise PAS de serveur vue que la page sera stock au niveau de SCCM, donc je vois pas où est le problème. Je sais ce que signifie intranet, et j'en ai une ! je ne suis pas bête non plus, merci.
Certes il y a des erreurs, c'est normal c'est pour ça que je suis ici, mais toutes les infos avaient déjà été donné...
Quand je dis toutes les pages web, c'est toutes. n'importe quel site.
Je n'en sert rien, je ne connais pas, je demande de l'aide, donc je ne sais pas.
Je n'ai jamais créer de html avec du PowerShell, je ne savais pas que c'était possible et je t'avoue que j'ai du mal à l'imaginer..
Certes il y a des erreurs, c'est normal c'est pour ça que je suis ici, mais toutes les infos avaient déjà été donné...
Quand je dis toutes les pages web, c'est toutes. n'importe quel site.
Je n'en sert rien, je ne connais pas, je demande de l'aide, donc je ne sais pas.
Je n'ai jamais créer de html avec du PowerShell, je ne savais pas que c'était possible et je t'avoue que j'ai du mal à l'imaginer..
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
>
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
16 janv. 2019 à 12:32
16 janv. 2019 à 12:32
Donc NON toutes les pages web ne récupèrent pas des infos de ton ordi.... loin de la
Elle peuvent connaitre
Le navigateur / os utilisé (via du Javascript par exemple )
L'adresse ip PUBLIQUE (ça c'est côté langage serveur.. comme en php )
Et c'est tout...
pas d'adresse mac
Pas la taille de tes disques
Pas la consomation cpu / ram ... ou toute autre information de ce genre....
Un fichier html n'est rien d'autre qu'un fichier text écrit d'une certaine façon..
Donc on peut créer des fichiers text en powershell sans souci...
mais bon.. regarde le lien que je t'ai donné pour les hta.
Ca pourrait résoudre ton souci.
Elle peuvent connaitre
Le navigateur / os utilisé (via du Javascript par exemple )
L'adresse ip PUBLIQUE (ça c'est côté langage serveur.. comme en php )
Et c'est tout...
pas d'adresse mac
Pas la taille de tes disques
Pas la consomation cpu / ram ... ou toute autre information de ce genre....
Je n'ai jamais créer de html avec du PowerShell, je ne savais pas que c'était possible et je t'avoue que j'ai du mal à l'imaginer..
Un fichier html n'est rien d'autre qu'un fichier text écrit d'une certaine façon..
Donc on peut créer des fichiers text en powershell sans souci...
mais bon.. regarde le lien que je t'ai donné pour les hta.
Ca pourrait résoudre ton souci.
allybrbs
Messages postés
6
Date d'inscription
mercredi 16 janvier 2019
Statut
Membre
Dernière intervention
17 janvier 2019
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
16 janv. 2019 à 13:10
16 janv. 2019 à 13:10
Sur ce point je ne suis absolument pas d'accord, mais ce n'est pas le sujet là.
Je SAIS ce qu'un html, j'ai dis que je ne savais pas que c'était possible d'en faire un en PowerShell. Tu sais, j'ai des compétences de bases et je sais des choses, donc tu n'es pas obligé de me faire passé pour une bê-bête.
Merci pour le lien.
Je SAIS ce qu'un html, j'ai dis que je ne savais pas que c'était possible d'en faire un en PowerShell. Tu sais, j'ai des compétences de bases et je sais des choses, donc tu n'es pas obligé de me faire passé pour une bê-bête.
Merci pour le lien.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
16 janv. 2019 à 12:26
16 janv. 2019 à 12:26
A tout hasard... essaye de te tourner vers les fichiers hta
https://social.technet.microsoft.com/wiki/contents/articles/2166.how-to-add-a-graphical-user-interface-to-a-powershell-script-by-using-html-applications.aspx
https://social.technet.microsoft.com/wiki/contents/articles/2166.how-to-add-a-graphical-user-interface-to-a-powershell-script-by-using-html-applications.aspx
16 janv. 2019 à 15:14
Cependant, j'ai testé et rien ne ressort, je m'explique : dans mon html j'ai intégré "nom" à la place des "____"
Puis dans un script PowerShell j'ai fait la ligne suivante : cat web.html | %{$_ -replace "Nom",$nommachine} > web.html
(je n'ai pas de infos.html car je ne vois pas quoi mettre dedans.. alors j'ai remis mon html de base qui est web.html) et ensuite une fois que je lance la page, cela m'affiche "Nom" et rien d'autres...
Et plus quand je lance le script PowerShell, cela ne fait rien, et n'affiche aucun nom.
Modifié le 16 janv. 2019 à 16:34
ok, supposons que tu aies un fichier , qui contienne ceci :
et un script Powershell dans le même répertoire contenant ceci :
l'exécution du script Powershell devrait produire un fichier dans le même répertoire contenant :
Tu auras donc deux fichiers. Un fichier contenant ton modèle intact et un fichier qui est le fichier distinct produit à partir du premier contenant les informations en dur.
Je te donne un exemple, avec des noms pris comme exemples, et un nom de machine prédéterminé, à toi de l'adapter à ton code.
Plusieurs remarques :
Tu peux voir le code en action sur ce Try It Online simulant la lecture du fichier avec un echo et sans la partie d'écriture du fichier (le résultat est juste en output, compte tenu des limitations de l'interpréteur en ligne).
Je ne suis pas un expert de Powershell et il y a sans doutes des façons différentes et tirant d'avantage partie de ses possibilités, ou plus orthodoxes (là j'ai mélangé des commandes accessibles en batch classique avec du Powershell). Les commentaires d'autres contributeurs sont les bienvenus.
De plus, étant sous Linux, mes moyens de tester mes propres suggestions sont limités :-)
Bonne chance dans ton projet !
Modifié le 16 janv. 2019 à 17:03
Tu devrais t'intéresser au lien donné par jordane45, si tu veux lier du html sous forme de fichier .hta à l'exécution de Powershell.
Je ne suis pas familier de ces technologies Microsoft, mais cet article explique comment faire cela en passant par du code VBScript. Tu devrais probablement creuser la question, car cela pourrait te permettre de faire une vraie page dynamique, dont le contenu affiché changerait si les caractéristiques de la machine ont changé.
lien de jordane45 : https://social.technet.microsoft.com/wiki/contents/articles/2166.how-to-add-a-graphical-user-interface-to-a-powershell-script-by-using-html-applications.aspx
17 janv. 2019 à 09:04
C'est justement le but... Sur chaque pc l'info est différente (logique) donc il faudrait que le fichier change également, du coup si avec ta technique cela ne change pas, malheureusement ça ne m'aidera pas..
Oui, je travaille deja sur le lien de jordane.
Encore merci pour ton idée, que je vais garder en stock car elle est très bonne ! :)