Appeler des fonctions dans un script Powershell depuis un fichier .psm1
Lors de l’élaboration de différents scripts en PowerShell, j’ai mis du temps avant de trouver comment nous pouvions faire appel à un fichier regroupant un ensemble de fonctions écrites, et ainsi simplifier et factoriser notre code.
Le but étant « d’appeler » (et non d’exécuter) ce fichier à chaque fois que l’on fait référence à une fonction, dans son « programme principal » par exemple.
Après quelques heures de recherche sur le net, je suis enfin parvenu à trouver un tutoriel clair et concis qui faisait exactement ce que je souhaitais.
Pour ce faire il faut passer par deux étapes :
- Créer un fichier functions.psm1
En effet, vous ne pouvez pas passer par un fichier classique PowerShell (.ps1), car celui-ci serait alors « Interprété », ce que nous voulons surtout pas.
- Inclure dans vo(s) programme(s) le lien vers ce fichiers regroupant vos fonctions.
Nous allons pouvoir réaliser cela par l’intermédiaire de la variable d’environnement : $PSScriptRoot
Démonstration
Créons un répertoire « monApplication » sur le bureau :
Puis, créons le fichier functions.psm1, ainsi que le fichier main.ps1 qui représenteras notre programme principal.
Puis éditer les deux fichiers par le biais de votre IDE préféré :
- Ecrivez une fonction basique comme ci-dessous :
- Dans le fichier main.ps1, je vais faire référence à la fonction que j’ai écrite dans le fichier functions.psm1
Enregistrez, puis exécuter le fichier main.ps1
Voilà, votre fichier main.ps1 « appel » bien le fichier functions.psm1 qui contient notre fonction que nous avons écrite message($texte).
++
Brlndtech
En savoir plus sur Le Guide Du SecOps • LGDS
Subscribe to get the latest posts sent to your email.