Question mon script ne fonctione pas (fonction + switch)

Plus d'informations
il y a 12 ans 8 mois #15223 par Laurent Dardenne
Voici un cas où l'usage d'une variable globale est nécessaire, le contexte est un setup constitué de nombreuses demandes et dans chaque fonction en erreur on peut demander l'arrêt du script principal :
[code:1]
$sb={
$Yes=0
$No=1
$Global:Choice=$No

function YesNo{
#Default choice = No
param($Caption, $Message)
$Yes = New-Object System.Management.Automation.Host.ChoiceDescription \"&Yes\"
$No = New-Object System.Management.Automation.Host.ChoiceDescription \"&No\"
$Choices = [System.Management.Automation.Host.ChoiceDescription[]]($Yes,$No)
$Global:Choice=$Host.UI.PromptForChoice($Caption,$Message,$Choices,1)
$Global:Choice
}
$sbAbort= {(YesNo -M \"Voulez-vous arrêter ce script ?\"«») -eq $Yes}

function Read-AccountInformationHost {
if ($Global:Choice -eq $Yes) {return}
#Nom et password du compte de service à utiliser
do {
$Credential = $host.ui.PromptForCredential(\"Mon compte \", \"Entrez un nom de compte et un mot de passe.\", \"\", \"AccountName\",\"Default\",\"AlwaysPrompt\"«»)
}
until (($Credential -ne $null) -or (&$sbAbort) )
if ($Global:Choice -eq $Yes) {return}
}

Read-AccountInformationHost
if ($Global:Choice -eq $Yes)
{Write-host \"Abandon\" }
else
{Write-host \"Suite du setup\" }
}
&$sb
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 21/06/13 20:27

Tutoriels PowerShell

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

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