Flash info

"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information. "

Albert Einstein (1879-1955)

 
Accueil arrow Forum

Bienvenue sur le forum PowerShell-Scripting.com

 
Geronimo1235
Utilisateur

PowerShelleur Débutant
Messages: 2
graphgraph
Karma: 0  
Appeler une fonction d'un autre script - 21/07/17 14:27 Bonjour à tous !

Premier post sur le site

J'ai un premier script "ADAcount-LockedOut" qui m'indique les comptes AD de bloqués.
J'en ai un autre pour les débloquer, "ADAcount-Unlock".

Ce que j'aimerai, c'est appeler à partir du 1er, une fonction qui se trouve dans le 2ème.

Je trouve pas sur le Web

Quelqu'un aurait une idée ?

Merci
  | | L'administrateur a désactivé l'accés public en écriture.
Laurent Dardenne
Utilisateur

PowerShelleur Platinum
Messages: 5726
graph
Karma: 209  
Re:Appeler une fonction d'un autre script - 21/07/17 14:59 Salut,
cela dépend de la construction de ton second script, si tu déclares uniquement dans le second script la fonction , alors le dotsource suffit à le charger puis à exécuter la fonction.

Si le second script effectue un traitement il faut revoir ta conception, par exemple un module ou un script contenant uniquement les fonctions, puis des scripts de traitement utilisant le module ou les scripts de déclaration de fonctions.

ScriptFonctions.ps1 (f1 et f2)

Script-GetLock.ps1 -> Call ScriptFonctions.ps1 -> use F1
Script-UnLock.ps1 -> Call ScriptFonctions.ps1 -> use F2

A toi de voir ce qui te conviens le mieux entre module ou script
Les modules ont été ajoutés pour répondre à ce type de dépendances.
Tutoriels PowerShell
  | | L'administrateur a désactivé l'accés public en écriture.
Geronimo1235
Utilisateur

PowerShelleur Débutant
Messages: 2
graphgraph
Karma: 0  
Re:Appeler une fonction d'un autre script - 24/07/17 08:19 Bonjour Laurent,

Tout d'abord, Merci !

Je suis dans la cas n°2, avec traitement.

Effectivement les modules sont là pour ça mais j’espérai un contournement. Chacun de mes scripts combinent informations sans fonctions et traitement avec fonctions.

J'ai pu trouver cette ligne ci-dessous mais elle ne me plaît pas vraiment

$ScriptToRun = $PSScriptRoot+"ADAcount-Unlock.ps1" ; Unlock

Le ";" semble répondre à mon appel mais cela m'oblige à être en PS ISE avec le script appelé d'ouvert...

Je crois qu'il va falloir que je transforme de nombreux scripts en modules ^^

Message édité par: Geronimo1235, à: 24/07/17 09:21
  | | L'administrateur a désactivé l'accés public en écriture.
marcci
Utilisateur

PowerShelleur Amateur
Messages: 90
graphgraph
Karma: 10  
Re:Appeler une fonction d'un autre script - 24/07/17 12:02 J'ai été confronté à ce cas et c'est frustrant de devoir refaire une grosse fonction pour la rendre 'autonome'.

Depuis dès que je construit une fonction, je pense module.
Ca demande un peut plus de temps à la création, mais c'est fait une bonne fois pour quasi toute.
  | | L'administrateur a désactivé l'accés public en écriture.
© 2020 PowerShell-Scripting.com