Créer des modules dans des scripts Windows PowerShell

Effectué

Vous pouvez créer des modules pour stocker des fonctions et partager celles-ci entre les scripts. Une fois vos fonctions placées dans des modules, elles sont détectables tout comme des cmdlets. Comme les modules intégrés Windows, vos modules sont également chargés automatiquement lorsqu’une fonction est requise.

Note

Nommez vos fonctions dans les modules à l’aide de la même convention de nommage verbe-nom que les applets de commande. Par exemple, utilisez le format verbe-nom.

Note

Les fonctions dans les modules peuvent inclure l’aide basée sur les commentaires que Get-Help peut découvrir. Incluez les informations d’aide dans chaque fonction pour l’activer.

Si vous disposez déjà de vos fonctions dans un fichier de script PowerShell Windows, convertissez-le en module en le renommant avec l’extension de fichier .psm1. La structure de fichiers n’a pas besoin de changer.

Windows PowerShell utilise la variable d’environnement $PSModulePath pour définir les chemins d’accès à partir desquels les modules sont chargés. Dans Windows PowerShell 5.1, les chemins d’accès suivants sont répertoriés :

  • C :\Users\UserID\Documents\WindowsPowerShell\Modules
  • C :\Program Files\WindowsPowerShell\Modules
  • C :\Windows\System32\WindowsPowerShell\1.0\Modules

Windows PowerShell 7 inclut les autres chemins d’accès suivants :

  • C :\Users\UserID\Documents\PowerShell\Modules
  • C :\Program Files\PowerShell\Modules
  • C :\Program Files\PowerShell\7\Modules

Note

Le chemin d’accès à l’étendue utilisateur PowerShell 7 (Documents\PowerShell\Modules) est différent du chemin d’accès d’étendue utilisateur powerShell 5.1 Windows (Documents\WindowsPowerShell\Modules). Les modules stockés dans le chemin 5.1 ne sont pas chargés automatiquement dans les sessions d’étendue utilisateur de PS7.

Note

Si vous stockez des modules dans C :\Users\UserID\Documents\WindowsPowerShell\Modules, ils sont disponibles uniquement pour un seul utilisateur.

Les modules ne sont pas placés directement dans le répertoire Modules. Au lieu de cela, vous devez créer un sous-dossier portant le même nom que le fichier et placer le fichier dans ce dossier. Par exemple, si vous avez un module nommé AdatumFunctions.psm1, vous devez le placer dans C:\Program Files\WindowsPowerShell\Modules\AdatumFunctions.