Partage
  • Partager sur Facebook
  • Partager sur Twitter

Javascript via powershell

Sujet résolu
    18 décembre 2018 à 11:29:36

    Bonjour tout le monde,

    J'ai un petit souci sur l'exécution d'un script .js via powershell. Pour remettre le contexte, je dois exécuter un algorithme DES (je sais que c'est obsolète mais ce n'est pas moi qui décide ahah) afin d'encrypter un mot de passe. Je possède différents fichiers .js qui possèdent les fonctions nécessaires. J'ai pu récupérer ces fichiers sur mon ami google. Seulement, je dois maintenant appeler ces fonctions via un script Powershell.

    J'ai pu trouver différentes pages qui traitent de ce problème :

    https://devcentral.f5.com/articles/powershell-abcs-j-is-for-javascript

    https://stackoverflow.com/questions/1444330/execute-javascript-trough-internet-explorers-com-interface-using-powershell 

    Dans un premier temps, je souhaiterais savoir quelle est la meilleure manière de procéder selon vous ?

    Autre question, concernant le premier lien abordé ci-dessus (devcentral.f5.com). J'ai remarqué cette phrase : 

    "PowerShell has the ability to integrate those scripts directly into it's scripting environment with it's access to the COM libraries and specifically the ScriptControl control."

     J'avoue que je n'ai pas super bien compris => il faut importer la librairie ou est-elle déjà prédéfinie dans powershell et on ne fait qu'une utilisation de celle-ci ?

    Parce qu'après avoir exécuté ce morceau de code :

    function Create-ScriptEngin() {
        param([string]$language=$null, [string]$code=$null);
        if ($language) {
            $sc = New-Object -ComObject ScriptControl;
            $sc.Language = $language;
            if ($code) {
                $sc.AddCode($code);
            }
            $sc.CodeObject;
        }
    }
    
    $jscode = @"
    function jslen(s) {
        return s.length;
    }
    "@
    
    $js = Create-ScriptEngin "JScript" $jscode;
    $str = "abcd";
    $js.jslen($str);

    J'ai cette erreur qui est renvoyée :



    Vous auriez des idées ? Ou d'autres solutions de faire du DES en powershell ? 

    Merci beaucoup d'avance ! :)

    Un noob perdu :3

    UPDATE :

    Re-,

    Du coup, j'ai trouvé une solution. Si certains passent par ici et se posent la question :

    On peut passer par NodeJs en console qui marche en powershell et permet d'exécuter des scripts javascript. Lien d'installation de Node :

    https://nodejs.org/en/download/

    Derrière, il faut ajouter le chemin d'installation du fichier, ie l'endroit où se trouve l'exécutable, dans le PATH (variable d'environnement).

    Ensuite, on peut ouvrir un fenêtre powershell / cmd et faire :

    > node <CHEMIN_DU_FICHIER>

    -
    Edité par Jeeq0 18 décembre 2018 à 15:14:22

    • Partager sur Facebook
    • Partager sur Twitter

    Javascript via powershell

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown