Question
Sudo Mode
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
rien ne vaut un bon exemple bien explicite
On ne doit pas avoir le même dico
D'après ce que j'ai compris, tu souhaites récupérer uniquement les variables déclarés dans le scriptblock.
Au lieu de se prendre la tête avec la construction (dynamique ?) de regex , mieux vaut utiliser l'API de parsing de la V2 :
[code:1]
$script= { $log ; write-host $toto; $local:VarScope=10 ; $LocalResult=Fait-QQChose -SurLeDistant }
$ParseErrors = New-Object System.Collections.ObjectModel.Collection[System.Management.Automation.PSParseError]
#La ligne suivante évite un bug sur la méthode Tokenize
$Lines=[System.Management.Automation.PsParser]::Tokenize($Script,[ref]$null)
#On doit l'appeler une seconde fois...
$Lines = [System.Management.Automation.PsParser]::Tokenize($Script, [ref]$ParseErrors)
if ($ParseErrors.Count -gt 0) {
$ParseErrors | %{ throw \"$($_.Message)`n$File at line:$($_.Token.StartLine) char:$($_.Token.Start)\" }
}
$Lines|? {$_.Type -eq \"Variable\"}|Select content
#
#Content
#
#log
#toto
#local:VarScope
#LocalResult
[/code:1]
Pour info voir cette demande , car si tu veux aller plus loin dans l'analyse du code, il te faut recoder l'arbre d'expressions de la grammaire de PS
De mon coté, sur un autre sujet, j'ai vite enclenché la marche arrière, surtout que la grammaire de la V2 n'est pas publié
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Auteur du sujet
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
Ça a tout de même l'air de fonctionner mais bon je ne l'ai pas encore torturé.
Faudra test avec une trentaines de variables et un script plus lourd(beaucoup plus lourd, 1000 lignes pour rigoler, ça sert à rien mais c'est pour test).
Pour info il me faut en fait un sudo qui récupère le résultat, et ce sudo le fait plutôt bien après le coup de ne pas faire un argumentlist est un bonus.
Par contre je ne peut pas accéder à ton lien ni avec FF ni IE.
Moi je veut bien aller plus loin je suis en vac en Août
On ne doit pas avoir le même dico
Le mien est Unique
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Utilise une librairie de tests unitaire, c'est contraignant, mais quel gain de temps !Ça a tout de même l'air de fonctionner mais bon je ne l'ai pas encore torturé.
Tu devrais mettre en application les attributs des fonctions avancées, ils sont simples et puissants.
bilbao écrit:
Je l'ai corrigé.Par contre je ne peut pas accéder à ton lien ni avec FF ni IE.
bilbao écrit:
Oui, je suis de ton avis.Même si je me plante complet cela me permet d'en apprendre plus sur PS
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arthur
- Auteur du sujet
- Hors Ligne
- Membre elite
-
- Messages : 226
- Remerciements reçus 0
Utilise une librairie de tests unitaire, c'est contraignant, mais quel gain de temps !
C'est dingue je tape \"librairie de tests unitaire powershell\" sur google je tombe sur ton tuto.
Sinon oui je vais m'attaquer aux attributs des fonctions avancés mais je me demandais si avant je ne devais pas modifier un peut la manière dont fonctionne le script.
Je pense peut être utiliser les classes dotnet liés aux runspace.
Enfin faut que je regarde en details.
Je vais voir si il y a quelque chose de vraiment intéressant à exploiter.
Ça complique surement les choses mais il y a peut être un moyen de faire plus performant et plus \"personnalisable\" ( en configurant le runspace)
Et puis Je trouve que cela fait un peu \"bricolage\" d'utiliser le \"start-job\", non?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Je l'utilise sur le projet Add-Lib.C'est dingue je tape \"librairie de tests unitaire powershell\" sur google je tombe sur ton tuto.
Il existe aussi PSUnit intégré à ISE, peut être plus simple pour la visualisation des résultat, mais je n'ai pas pris le temps de la tester.
bilbao écrit:
Je ne sais pas, que manque t-il à ton code comme fonctionnalité ?Ça complique surement les choses mais il y a peut être un moyen de faire plus performant et plus \"personnalisable\" ( en configurant le runspace)
Si tu suis le principe du pipeline et celui la simplicité d'Unix, chaque prg fait une seule chose, mais il le fait très bien, tu ne t'éloigneras pas de ton objectif.
bilbao écrit:
Bha, tu couples un cmdlet à ton code. Ensuite je n'ai pas cogité sur les specs, difficile de répondre.Et puis Je trouve que cela fait un peu \"bricolage\" d'utiliser le \"start-job\", non?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
- Messages : 530
- Remerciements reçus 0
Il me semblait avoir un article qui parlait de pousser un \"environnement d'authentification\", c'est plus comme cela que je vois l'utilisation du sudo perso.
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Sudo Mode