Bonjour,

Je me permets de me tourner vers vous pour un petit soucis que je rencontre dans le développement d'un script en powercli, j'aimerai utiliser une variable que je déclare dans une fonction en dehors de celle-ci, alors j'ai déjà googlé un peu, et j'ai trouvé qu'il fallait déclarer la variable comme ceci :

Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
$Global:MaVariable="true"

Alors effectivement j'arrive désormais à utiliser ma variable en dehors de la fonction, mais ce que je ne sais pas, c'est que quand dans ma fonction si je fais changer ma variable de valeur, dois-je à nouveau mettre le '$Global' ?

Voici une partie de mon script pour vous éclairer :

Code powershell : 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
function action_lancement
{
    $Global:MaVariable = "false"
    if($Global:MaVariable = "false")
    {
        Get-VM "NomVM" 2> $null
        if($? -ne $False)
        { 
            $Global:MaVariable="true"
        }
    }
}

if($Global:MaVariable -eq "false")
{
    Write-Host "c'est faux"
}
if($Global:MaVariable -eq "true")
{
    Write-Host "c'est vrai"
}

J'ai mis en gras les $Global où je ne sais pas s'il sont nécessaires.
Pour information au niveau ou je change ma variable de false à true, j'ai effectué un Write-Host afin de m'assurer qu'elle passe bien en "true", ce qui est le cas. Cependant, au rappel de ma variable hors de ma fonction, celle-ci est tjs fausse.

Savez-vous ce que je dois faire ?

Si il y a des éléments que mal expliqué, n'hésitez pas à revenir vers moi.

Merci par avance.

Cdt