Définir des modules dans PowerShell

Effectué

Les modules sont des groupes de fonctionnalités PowerShell associées regroupées dans une unité unique. Pour les besoins de cette classe, vous pouvez les considérer comme des conteneurs hébergeant plusieurs applets de commande. Les modules aident à organiser des applets de commande en unités distribuables. Microsoft et d’autres sociétés logicielles fournissent des modules dans le cadre des outils de gestion de leurs applications et services.

Vous pouvez vérifier la liste des modules disponibles en exécutant la commande suivante :

Get-Module -ListAvailable

Pour utiliser les applets de commande d’un module, le module doit être chargé dans la session PowerShell actuelle. Cela se produit généralement automatiquement, mais, selon votre configuration, peut nécessiter que vous chargez des modules explicitement en exécutant l’applet de commande Import-Module . Certains produits serveur, tels que Microsoft Exchange Server, fournissent un raccourci vers ce qui semble être un interpréteur de commandes de gestion dédié. Toutefois, il s’agit vraiment d’une session de console PowerShell normale avec des modules spécifiques à l’application déjà chargés.

Chargement automatique

Dans Windows PowerShell version 3.0 et ultérieure, les modules se chargent automatiquement si vous exécutez une applet de commande qui fait partie de ce module. Cela fonctionne si le module qui contient l’applet de commande se trouve dans un dossier sous les chemins de chargement du module. Par défaut, ces dossiers incluent %systemdir%\WindowsPowerShell\v1.0\Modules et %userprofiles%\Documents\WindowsPowerShell\Modules. La liste des dossiers est stockée dans la variable d’environnement $env:PSModulePath. Lorsque vous importez explicitement un module par nom, PowerShell vérifie les emplacements référencés par cette variable d’environnement.

Pour PowerShell 7, PSModulePath inclut les emplacements suivants :

  • C:\Users\<user>\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules

Remarque

Lorsque vous utilisez Windows PowerShell, le chemin d’accès%systemdir%\WindowsPowerShell\v1.0\Modules est généralement appelé à l’aide de la combinaison de la $PSHome variable d’environnement (qui pointe vers %systemdir%\WindowsPowerShell\v1.0) et le chemin des modules (autrement dit, à l’aide de la $PSHome\Modules notation). Pour PowerShell 7.0, la $PSHome variable d’environnement fait référence à C :\Program Files\PowerShell\7.