Question
Variable dans un job
- Laurent
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 5 ans 5 mois #27710
par Laurent
Variable dans un job a été créé par Laurent
Bonjour à tous,
J'ai une question comment passer des variable dans un script powershell ?
Je m'explique mon base.ps1 contient des variable et exécute le script ip.ps1 via un start-job je souhaite récupérer les variable du script base.ps1 à l'intérieur de mon script ip.ps1
Avez vous des pistes ? Merci ci dessous le code :
Script 1 (base.ps1)
[code:1]$IP=10.18.18.18
$IP2=10.15.15.15
$NOM=MATH
function PSScriptRoot { Split-Path (Split-Path $PSScriptRoot -Parent) -Parent }
$job1 = Start-Job -Name configip -ScriptBlock ([ScriptBlock]::Create(\"$(PSScriptRoot)\script\ip.ps1'\"«»))[/code:1]
Script 2 (ip.ps1 lancé avec le start job dans le script1)
[code:1]Write-Host \"$IP\"
Write-Host \"$IP2\"
Write-Host \"$NOM\"[/code:1]
J'ai une question comment passer des variable dans un script powershell ?
Je m'explique mon base.ps1 contient des variable et exécute le script ip.ps1 via un start-job je souhaite récupérer les variable du script base.ps1 à l'intérieur de mon script ip.ps1
Avez vous des pistes ? Merci ci dessous le code :
Script 1 (base.ps1)
[code:1]$IP=10.18.18.18
$IP2=10.15.15.15
$NOM=MATH
function PSScriptRoot { Split-Path (Split-Path $PSScriptRoot -Parent) -Parent }
$job1 = Start-Job -Name configip -ScriptBlock ([ScriptBlock]::Create(\"$(PSScriptRoot)\script\ip.ps1'\"«»))[/code:1]
Script 2 (ip.ps1 lancé avec le start job dans le script1)
[code:1]Write-Host \"$IP\"
Write-Host \"$IP2\"
Write-Host \"$NOM\"[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 5 ans 5 mois #27712
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Variable dans un job
Salut,
utilise soit le paramètre Argumentlist sur le job soit ,sur les variables du script appelées, la portée using: (à vérifier).
Mais dans ce dernier cas, si cela fonctionne, cela peut limiter la réutilisation dans Invoke-Command par exemple.
Du coup Argumentlist est préférable.
utilise soit le paramètre Argumentlist sur le job soit ,sur les variables du script appelées, la portée using: (à vérifier).
Mais dans ce dernier cas, si cela fonctionne, cela peut limiter la réutilisation dans Invoke-Command par exemple.
Du coup Argumentlist est préférable.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 5 ans 5 mois #27718
par Laurent
Réponse de Laurent sur le sujet Re:Variable dans un job
Bonjour Laurent,
Dans mon cas précis avec le start job comment je dois procéder ?
Merci
Dans mon cas précis avec le start job comment je dois procéder ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 5 ans 5 mois #27719
par Philippe
Réponse de Philippe sur le sujet Re:Variable dans un job
salut
comme te disais Laurent, tu peut passer les variables via l'option ArgumentList de Start-Job, comme indiquer dans le tuto de Laurent à la page 18
tu doit modifier les deux scripts :
dans base.ps1 change cette ligne
[code:1]$job1 = Start-Job -Name configip -ScriptBlock ([ScriptBlock]::Create(\"$(PSScriptRoot)\script\ip.ps1'\"«»)) -ArgumentList @($IP, $IP2, $NOM)
[/code:1]
dans ip.ps1 rajoute cette ligne au début
[code:1]param($IP, $IP2, $NOM)
[/code:1]
voir aussi cette doc sur le using (la deuxième solution proposé par Laurent)
apres quelque test cette solution fonctionne bien avec Invoke-Command mais pas avec start-job
Message édité par: 6ratgus, à: 31/10/18 14:46<br><br>Message édité par: 6ratgus, à: 31/10/18 14:57
comme te disais Laurent, tu peut passer les variables via l'option ArgumentList de Start-Job, comme indiquer dans le tuto de Laurent à la page 18
tu doit modifier les deux scripts :
dans base.ps1 change cette ligne
[code:1]$job1 = Start-Job -Name configip -ScriptBlock ([ScriptBlock]::Create(\"$(PSScriptRoot)\script\ip.ps1'\"«»)) -ArgumentList @($IP, $IP2, $NOM)
[/code:1]
dans ip.ps1 rajoute cette ligne au début
[code:1]param($IP, $IP2, $NOM)
[/code:1]
voir aussi cette doc sur le using (la deuxième solution proposé par Laurent)
apres quelque test cette solution fonctionne bien avec Invoke-Command mais pas avec start-job
Message édité par: 6ratgus, à: 31/10/18 14:46<br><br>Message édité par: 6ratgus, à: 31/10/18 14:57
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 5 ans 5 mois #27721
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Variable dans un job
6ratgus écrit:
Merci, je ne me souvenais plus si c'était l'un ou l'autre :-(la deuxième solution proposé par Laurent)
apres quelque test cette solution fonctionne bien avec Invoke-Command mais pas avec start-job
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 71
- Remerciements reçus 0
il y a 5 ans 5 mois #27722
par Laurent
Réponse de Laurent sur le sujet Re:Variable dans un job
Merci à vous deux, je teste et je vous tiens au courant.
Bon week end à vous.
Bon week end à vous.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.072 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Variable dans un job