Question [Résolu] Variable dans un .ps1

Plus d'informations
il y a 16 ans 4 mois #5595 par CHOULANT Noham (MVP)
Bonjour

J'ai plusieurs scripts qui utilise les même valeur et variable.

Je souhaiterai les mettrent dans un script a part :
Param.ps1

mais comment appeler ces variables dans les autre script ?

Merci<br><br>Message édité par: Arnaud, à: 12/11/09 00:23

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

Plus d'informations
il y a 16 ans 4 mois #5596 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Vairable dans un .ps1
Salut,
pc152 écrit:

J'ai plusieurs scripts qui utilise les même valeur et variable.

Sont-ils exécutés les uns à la suite des autres ?
Sont-ils dépendants ?
Est-ce un partage d'information ou un paramètrage communs ?
Aurais-tu une exemple simple afin de mieux comprendre la situation ?

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 4 mois #5597 par CHOULANT Noham (MVP)
Bonjour
Je développe des commandes powershell pour TFS (PsTFS), pour tester mes commandes je fait des script
  • Get-TFS
  • Get-AllProject
  • Add-MemberProject
  • ...

Dans chacun de ces scripts j'ai besoin de valeur:
$AdressTFS = http://Colmar:8080
$ProjectName = MonProjet
...

Sont-ils exécutés les uns à la suite des autres ?


Non, j'avais pensez à un script de paramétrage à exécuter en premier mais l'idée n'est pas bonne car je souhaite executer le script concernant les modification que j'apport au projet.

Sont-ils dépendants ?

Oui et non :P Chaque script est indépendant mais peuvent s'appeler pour faire des tests plus poussés.

Est-ce un partage d'information ou un paramètrage communs ?

Paramétrage d'information/données

Aurais-tu une exemple simple afin de mieux comprendre la situation ?

Param.ps1:
Set-Location \&quot;C:\Users\n.choulant\Documents\Visual Studio 2008\Projects\PsTFS_Sources\PsTFS.CmdLet\Tests\&quot;
# Adresse du serveur
$adressTFS = 'http://Colmar:8080
# Nom du projet
$ProjectName = \&quot;TFS.Template\&quot;
# Fichier contenant les utilisateurs
$content = get-content _users.txt

Commande testé:
Get-TFS.ps1
#Connexion au serveur

$tfs = Get-TFS $adressTFS

Get-AllProject.ps1
\&quot;Liste des projets du serveur\&quot;
Get-AllProjects -tfs $adressTFS| Format-Table

\&quot;Liste des projet sans spécifier TFS\&quot;
Get-AllProjects | Format-Table

\&quot;Liste des projet sans spécifier TFS avec choix des propriété\&quot;
Get-AllProjects | Format-Table -Property Name,ExclusiveCheckout

etc...

Merci

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

Plus d'informations
il y a 16 ans 4 mois #5598 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Vairable dans un .ps1
pc152 écrit:

Sont-ils exécutés les uns à la suite des autres ?

Non, j'avais pensez à un script de paramétrage à exécuter en premier mais l'idée n'est pas bonne car je souhaite executer le script concernant les modification que j'apport au projet.

Peux-tu reformuler car je n'ai pas compris.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 4 mois #5599 par CHOULANT Noham (MVP)
Lors que je modifié le code d'une commande en c# je souhaite rejouer le script correspondant

Ex:
Je mondifi la classe Get_TFS
Je doit rejouer le script Get-TFS.ps1

Je mondifi la classe Get_AllProject
Je doit rejouer le script Get-AllProject.ps1

Si je mondifi les deux classe
Je doit rejouer les deux scripts

Au total j'ai 32 commande + Un provider, donc beaucoup de script de tests.

je ne souhaite pas devoir exécuter un script de paramétrage à chaque fois que je veux tester un script, et je souhaite centraliser le paramétrage dans un seul fichier qui sera commun.

Merci

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

Plus d'informations
il y a 16 ans 4 mois #5600 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Vairable dans un .ps1
pc152 écrit:

je ne souhaite pas devoir exécuter un script de paramétrage à chaque fois que je veux tester un script, et je souhaite centraliser le paramétrage dans un seul fichier qui sera commun.

Je suppose que tu es dans un contexte d'intégration continue( avec peut être une génération dynamique de tes scripts de tests ?), de ce que j'ai compris le profile utilisateur( ou un autre) de PowerShell me semble être une solution :
[code:1]
if (Test-Path \&quot;$rep\paramTFS.ps1\&quot;«»)
{
#Commandes hors profile, selon le besoin...
.\&quot;$rep\paramTFS.ps1\&quot;
}
[/code:1]

Sinon en regardant vite fait le code source du provider TFS, n'y a -t-il pas une coquille dans l'extrait de code suivant ?
[code:1]
//..Source\PsTFS.CmdLet\TFSProvider.cs
#region MEMBERROJECT
else if (\&quot;MEMBERROJECT\&quot;
...
#endregion MEMBERPROJECT
[/code:1]

Tutoriels PowerShell

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

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