Question interpretation de variables PS/string

Plus d'informations
il y a 15 ans 8 mois #7313 par crystof
Bonjour à tous

et merci d'avance pour votre aide.

Voila, je séche (encore une fois:P ) sur un problème : je récupére un paramétre (string) depuis un fichier xml.

Cette string contient des variables Powershell que je voudrais faire interpréter par le shell.

J'ai bien essayé avec invoke-expression, mais que néni, ça marche si la string contient une variable (et encore) pas pas plus.

exemple de xml :
[code:1]
<JGuiParameters>
<CurrentLocations>
<credentials dir=\"$env:HOMEDRIVE$env:HOMEPATH\JCredentials.dat\" />
</CurrentLocations>
</JGuiParameters>
[/code:1]

exemple de code (désolé c'est cours):
[code:1]
# read conf in xml
$XmlGuiConfig = [xml](Get-Content \"GuiConfig2.xml\"«»)
$MyFile=$XmlGuiConfig.JGuiParameters.CurrentLocations.credentials.dir
Write-Host $MyFile

#KO
Invoke-Expression $MyFile # syntax error !

#OK : ce que j'aimerai obtenir
Write-Host $env:HOMEDRIVE$env:HOMEPATH\JCredentials.dat
[/code:1]

Si vous avez une idée, Merci d'avance
Bonne journée

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 8 mois #7316 par Laurent Dardenne
Salut,
crysto444 écrit:

[code:1]
#OK : ce que j'aimerai obtenir
Write-Host $env:HOMEDRIVE$env:HOMEPATH\JCredentials.dat
[/code:1]

Ici le shell utilise l'expansion de variable (chapitre 1.2).
Pour effectuer cette expansion dans du code on utilise cette méthode :
[code:1]$ExecutionContext.InvokeCommand.ExpandString($MyFile)[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 8 mois #7317 par crystof
Bravo Laurent,

Encore Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 8 mois #7321 par Laurent Dardenne
crysto444 écrit:

Encore Merci

De rien.
Je me suis dit que ceci devrait faciliter le codage de ce type d'appel.
Ainsi ton appel deviens :
[code:1]
$MyFile.ExpandString()
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.045 secondes
Propulsé par Kunena