Question
Parametres
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 145
- Remerciements reçus 0
il y a 9 ans 9 mois #22114
par Toper
Powershell: la vie est belle
Parametres a été créé par Toper
Bonjour,
lorsque je veux mettre des paramètres dans mon script, je fais comme ceci:
[code:1]
param(
$param1 = (get-content c:\temp),
$param2 = (test-path \"c:\temp\"),
$param3 = (send-email ......)
)
if(-not($param2)) {$param3}
[/code:1]
Mais lorsque j'exécute mon script, il \"exécute\" les paramètres, ce qui a pour effet par exemple de m'envoyer un mail (param3) alors que le résultat du \"if\" ne devrait pas donner lieu à l'envoi du mail (c:\temp existe bien).
Que fais-je de mal (car l'erreur est en face de l'écran
) ?
Message édité par: gregmurf, à: 5/08/16 14:06
Message édité par: gregmurf, à: 5/08/16 14:08<br><br>Message édité par: gregmurf, à: 5/08/16 15:26
lorsque je veux mettre des paramètres dans mon script, je fais comme ceci:
[code:1]
param(
$param1 = (get-content c:\temp),
$param2 = (test-path \"c:\temp\"),
$param3 = (send-email ......)
)
if(-not($param2)) {$param3}
[/code:1]
Mais lorsque j'exécute mon script, il \"exécute\" les paramètres, ce qui a pour effet par exemple de m'envoyer un mail (param3) alors que le résultat du \"if\" ne devrait pas donner lieu à l'envoi du mail (c:\temp existe bien).
Que fais-je de mal (car l'erreur est en face de l'écran
Message édité par: gregmurf, à: 5/08/16 14:06
Message édité par: gregmurf, à: 5/08/16 14:08<br><br>Message édité par: gregmurf, à: 5/08/16 15:26
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 9 ans 9 mois #22115
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Parametres
Salut,
le code associé aux paramètres est tjr exécuté AVANT le reste, c'est le fonctionnement de Powershell :
[code:1]
$sb={
param(
$param1 = (write-host \"get-content c:\temp\"«»),
$param2 = (write-host 'test-path \"c:\temp\"'),
$param3 = (write-host \"send-email ......\"«»)
)
if(-not($param2)) {$param3}
}
&$sb -param2 'Test'
&$sb -param1 'Test'
&$sb
&$sb P1 P2 P3
&$sb P1 -param3 2
[/code:1]
Si le paramètre n'est pas renseigné sur la ligne d'appel le code associé est exécuté.
Sans savoir ce que tu veux faire, je n'ai pas de solution à te proposer.<br><br>Message édité par: Laurent Dardenne, à: 6/08/16 00:27
le code associé aux paramètres est tjr exécuté AVANT le reste, c'est le fonctionnement de Powershell :
[code:1]
$sb={
param(
$param1 = (write-host \"get-content c:\temp\"«»),
$param2 = (write-host 'test-path \"c:\temp\"'),
$param3 = (write-host \"send-email ......\"«»)
)
if(-not($param2)) {$param3}
}
&$sb -param2 'Test'
&$sb -param1 'Test'
&$sb
&$sb P1 P2 P3
&$sb P1 -param3 2
[/code:1]
Si le paramètre n'est pas renseigné sur la ligne d'appel le code associé est exécuté.
Sans savoir ce que tu veux faire, je n'ai pas de solution à te proposer.<br><br>Message édité par: Laurent Dardenne, à: 6/08/16 00:27
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.031 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Parametres