Question
récupérer le nom de la variable
- clément
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 23
- Remerciements reçus 0
Je cherche à récupérer le nom des variables, mais je n'y arrive pas.
exemple :
$Mavariable = \"MaValeur\"
je cherche à extraire le nom de la variable \"$Mavariable\" ou \"Mavariable\"
merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
anonym17 écrit:
Quel est le contexte ?Je cherche à récupérer le nom des variables, mais je n'y arrive pas.
Et pour quel usage ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- clément
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 23
- Remerciements reçus 0
Mon but serai d'automatiser l'ajout des variables voulu dans un runspace.
le plus simple serai que je puisse récupérer le nom de ma variable afin de définir le nom avec la valeur de la variable correspondante
un peu sur le principe :
$Powershell.AddParameter(\"Nom_de_la_variable\", $valeur_de_la_variable)
je ne sais pas si j'ai étais assez clair?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
[code:1]
#DefaultRunspace
[System.Management.Automation.Runspaces.Runspace]::«»DefaultRunspace.SessionStateProxy.SetVariable
[/code:1]
Couplé à Get-Variable :
[code:1]
$s='10'
(Get-Variable S).Name
#s
(gv S).Value
#10
's','pshome'|gv
#...
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- clément
- Auteur du sujet
- Hors Ligne
- Membre junior
- Messages : 23
- Remerciements reçus 0
peux-tu m'expliquer le principe de cette commande stp?#DefaultRunspace
[System.Management.Automation.Runspaces.Runspace]::DefaultRunspace.SessionStateProxy.SetVariable
$s='10'
(Get-Variable S).Name
#s
(gv S).Value
#10
's','pshome'|gv
#...
j'avais pensé à cette solution, la problématique de ta commande, c'est que tu peux pas automatiser pour plusieurs variables.
tu donne une valeur à ta variable $s
puis dans get-variable tu écris son nom pour justement récupérer son nom.
si encore il était possible de faire un peu de la sorte :
[code:1]
$s = '10'
(get-variable $s).Name
[/code:1]
cela aurai été intéressant.
comprend tu le problème?
merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
Elle crée une variable dans l'état de session du runspace.Ici celui par défaut afin d'afficher sa signature.peux-tu m'expliquer le principe de cette commande stp?
anonym17 écrit:
A te lire 'voulu', supposes que tu connais leurs noms, je me trompe ?Mon but serai d'automatiser l'ajout des variables voulu dans un runspace.
Si tu recherches à injecter toutes les variables de l'appelant peut-être faut-il utiliser l'AST ou ceci :
[code:1]
dir variable:* |Where exclude AutomaticVariable #dépend du contexte courant script/job/Workflow
[/code:1]
anonym17 écrit:
Je ne pense pas qu'un langage quelqu'il soit puisse répondre à la question 'Donne moi'.puis dans get-variable tu écris son nom pour justement récupérer son nom.
'Donne moi' je comprend , mais donne moi quoi ?
C'est sur que cet exemple peut sembler idiot, mais une variable Powerhsell n'est pas qu'un nom et une valeur.
En PS v4 on peut contraindre une variable comme un paramètre de fonction, donc d'injecter une telle variable suppose une autre approche.
Une déclaration statique est aussi possible.
Si on place ces noms de variables dans un tableau, cela à tout de suite plus de sens. cf. le dernier exemple.
anonym17 écrit:
Non :comprends tu le problème?
[code:1]
$name='10'
$Pointeur='Name'
gv $pointeur
# Name Value
# ----
# name 10
[/code:1]
Précise ce que tu recherches à faire stp.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- récupérer le nom de la variable