IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

eval en Powershell


Sujet :

Scripts/Batch

  1. #1
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut eval en Powershell
    Salut,


    Suite à une question posé et solutionner il y a quelques jours "Exécuter une commande contenue dans un string" j'ai voulu attaqué le problème d'une manière différente..En gros on va simuler la fonction eval() de PHP:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    # On créer notre configuration 
    $tfs='
    <Types>
      <Type>
        <Name>System.String</Name>
        <Members>
        <ScriptMethod>
          <Name>eval</Name>
          <Script>
            $ExecutionContext.InvokeCommand.InvokeScript($this)
          </Script>
        </ScriptMethod>
        </Members>
      </Type>
    </Types>
    '
    
    # On créer un fichier .ps1xml dans le $home, vous pouvez le placer ou bon vous semble
    
    set-content -value $tfs -path "$home\typePerso.ps1xml"
    # On met à jour TFS
    Update-TypeData "$home\typePerso.ps1xml" # -verbose
    vous pouvez par la suite updater votre fichier de configuration TFS à chaque ouverture de session en en mettant ce code code dans votre profil..
    voici quelques tests:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [1]"get-command -verb get".eval()
    
    [2]$a = '$a=gps;$a'
    [2]$a.eval()
    Bonne Chance

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Bonjour Walid,
    je vois que ça fuse

    Autant ajouter ses frères et soeurs : ExpandString et NewScriptBlock

    Et quant au nom je l'aurais appelé Invoke, bien plus cohérent sous PowerShell/Dotnet et WMI et ADSI, ça fait la même chose que eval, mais on le nomme différement.

    Enfin le choix du nom tfs pour la variable, à un effet de bord, car ton post apparaîtra lors d'une recherche sur TFS (Team Foundation Server) et pas du tout sur ETS (Extended Type System).

Discussions similaires

  1. 'undefined' non interceptable sur 'eval' ?
    Par Johnny Ryall dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/06/2005, 11h28
  2. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 17h45
  3. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23
  4. [String] équivalent de la fonction eval() en javascript
    Par jeyce dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 01/09/2004, 08h42
  5. [langage] eval
    Par Quaker dans le forum Langage
    Réponses: 5
    Dernier message: 21/07/2004, 17h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo