RUBRIQUE
about_Modules
DESCRIPTION COURTE
Explique comment installer, importer et utiliser des modules
Windows PowerShell.
DESCRIPTION LONGUE
Un module est un package qui contient des commandes Windows
PowerShell, telles que des applets de commande, des fournisseurs,
des fonctions, des variables et des alias.
Les auteurs de commandes peuvent utiliser des modules pour
organiser leurs commandes et les partager avec les autres. Les
personnes qui reçoivent des modules peuvent ajouter les commandes
qu'ils contiennent à leurs sessions Windows PowerShell et les
utiliser comme les commandes intégrées.
Cette rubrique explique comment utiliser les modules Windows
PowerShell. Pour plus d'informations sur l'écriture de modules
Windows PowerShell, consultez " Writing a Windows PowerShell
Module " (page éventuellement en anglais) dans la bibliothèque
MSDN (Microsoft Developer Network) à l'adresse
https://go.microsoft.com/fwlink/?LinkId=144916.
COMMENT UTILISER UN MODULE
Pour utiliser un module, procédez comme suit :
1. Installez le module. (Cette tâche est souvent déjà faite.)
2. Importez le module dans votre session Windows PowerShell.
3. Recherchez les commandes que le module a ajoutées.
4. Utilisez les commandes que le module a ajoutées.
Cette rubrique explique comment effectuer ces tâches. Elle inclut
également d'autres informations utiles sur la gestion des modules.
COMMENT INSTALLER UN MODULE
Si vous recevez un module sous forme de dossier contenant des
fichiers, vous devez l'installer sur votre ordinateur pour
pouvoir l'importer dans Windows PowerShell.
La plupart des modules sont installés pour vous. Windows
PowerShell est fourni avec plusieurs modules préinstallés. Dans
Windows Server 2008 R2, l'Assistant Ajout de fonctionnalités du
Gestionnaire de serveur installe automatiquement les modules de
fonctionnalités que vous sélectionnez. De nombreux autres modules
sont fournis dans un programme d'installation qui les installe.
Pour installer un dossier de module :
1. Créez un répertoire Modules pour l'utilisateur actuel,
s'il n'en existe pas déjà un.
Pour créer un répertoire Modules, tapez :
new-item -type directory -path $home\Documents\WindowsPowerShell\Modules
2. Copiez le dossier de module entier dans le répertoire Modules.
Vous pouvez utiliser la méthode de votre choix pour copier
le dossier, notamment l'Explorateur Windows et Cmd.exe,
mais aussi Windows PowerShell.
Dans Windows PowerShell, utilisez l'applet de commande
Copy-Item. Par exemple, pour copier le dossier MyModule de
C:\ps-test\MyModule vers le répertoire Modules, tapez :
copy-item -path c:\ps-test\MyModule -dest
$home\Documents\WindowsPowerShell\Modules
Vous pouvez installer un module où vous le souhaitez, mais
l'utilisation d'un emplacement d'installation de vos modules
par défaut en simplifiera la gestion. Pour plus d'informations
sur les emplacements de module par défaut, consultez la section
" Emplacements de module et PSModulePath " ci-dessous.
COMMENT RECHERCHER DES MODULES INSTALLÉS
Lorsqu'un module est installé, vous pouvez l'importer dans votre
session Windows PowerShell.
Pour rechercher des modules installés à un emplacement de module
par défaut, à l'invite Windows PowerShell, tapez :
get-module -listAvailable
Pour rechercher les modules qui ont déjà été importés dans votre
session, à l'invite Windows PowerShell, tapez :
get-module
Pour plus d'informations sur l'applet de commande Get-Module,
consultez Get-Module.
COMMENT IMPORTER UN MODULE
Pour utiliser les commandes d'un module, importez le module dans
une session Windows PowerShell.
Pour importer des modules à partir d'un emplacement de module par
défaut dans la session active, utilisez le format de commande suivant.
import-module <nom-module>
Par exemple, la commande suivante importe le module BitsTransfer
dans la session active.
import-module BitsTransfer
Pour importer un module qui ne se trouve pas dans un emplacement
de module par défaut, utilisez le chemin d'accès complet au
dossier de module dans la commande.
Par exemple, pour ajouter le module TestCmdlets du répertoire
C:\ps-test à votre session, tapez :
import-module c:\ps-test\TestCmdlets
Pour plus d'informations sur l'ajout de modules à votre session,
consultez " Import-Module ".
COMMENT IMPORTER TOUS LES MODULES DANS VOTRE SESSION WINDOWS
POWERSHELL Dans Windows 7 et Windows Server 2008 R2, la tâche
" Importer tous les modules " ouvre une session Windows PowerShell
qui inclut tous les modules et composants logiciels enfichables
Windows PowerShell disponibles.
Pour démarrer une session Windows PowerShell avec tous les
modules et composants logiciels enfichables Windows PowerShell
disponibles, procédez comme suit.
-- Cliquez avec le bouton droit sur l'icône Windows PowerShell
dans la barre des tâches, puis cliquez sur " Importer tous les
modules ".
Remarque : dans Windows Server 2008 R2, l'icône Windows
PowerShell est épinglée à la barre des tâches par défaut.
Toutefois, vous devez démarrer Windows PowerShell une fois pour
faire apparaître la tâche " Importer tous les modules ".
Dans d'autres versions de Windows, pour importer tous les modules
disponibles dans votre session, à l'invite Windows PowerShell, tapez :
get-module -listAvailable | import-module
COMMENT RECHERCHER LES COMMANDES D'UN MODULE
Après avoir importé un module dans votre session Windows
PowerShell, vous pouvez utiliser les commandes qu'il contient.
Pour rechercher les commandes qu'un module a ajoutées, à l'invite
Windows PowerShell, tapez :
get-command -module <nom-module>
Par exemple, pour rechercher les commandes que le module
BitsTransfer a ajoutées, tapez :
get-command -module BitsTransfer
Pour plus d'informations sur l'applet de commande Get-Command,
consultez Get-Command.
COMMENT OBTENIR DE L'AIDE SUR LES COMMANDES D'UN MODULE
Si le module contient des rubriques d'aide sur les commandes
qu'il exporte, l'applet de commande Get-Help affichera ces
rubriques. Utilisez le même format de commande que pour toute
rubrique d'aide de Windows PowerShell.
Pour obtenir la rubrique d'aide des commandes d'un module,
à l'invite Windows PowerShell, tapez :
get-help <nom-commande>
Pour obtenir une aide plus détaillée, tapez :
get-help <nom-commande> -detailed
Par exemple, pour obtenir l'aide détaillée de l'applet de
commande Start-BitsTransfer, tapez :
get-help Start-BitsTransfer -detailed
Pour plus d'informations sur le module Get-Help, consultez Get-Help.
COMMENT SUPPRIMER UN MODULE
Lorsque vous supprimez un module, les commandes qu'il a ajoutées
sont supprimées de la session.
Pour supprimer un module de votre session, utilisez le format de
commande suivant.
remove-module <nom-module>
Par exemple, la commande suivante supprime le module BitsTransfer
de la session active.
remove-module BitsTransfer
La suppression d'un module inverse l'opération d'importation d'un
module. La suppression d'un module ne désinstalle pas le module.
Pour plus d'informations sur l'applet de commande Remove-Module,
consultez Remove-Module.
COMMENT IMPORTER UN MODULE DANS CHAQUE SESSION
La commande Import-Module importe des modules dans votre session
Windows PowerShell active. Cette commande affecte uniquement la
session active.
Pour importer un module dans chaque session Windows PowerShell
que vous démarrez, ajoutez la commande Import-Module à votre
profil Windows PowerShell.
Pour plus d'informations sur les profils, consultez about_Profiles.
EMPLACEMENTS DE MODULE ET PSMODULEPATH
Il existe deux emplacements par défaut pour les modules Windows
PowerShell, un pour le système et un pour l'utilisateur actif.
Système : $pshome\Modules
(%windir%\System32\WindowsPowerShell\v1.0\Modules)
Utilisateur actif : $home\Documents\WindowsPowerShell\Modules
(%UserProfile%\Documents\WindowsPowerShell\Modules)
- ou -
$home\Mes documents\WindowsPowerShell\Modules
(%UserProfile%\Mes documents\WindowsPowerShell\Modules)
Remarque : dans Windows Vista, Windows Server 2008 et les
versions ultérieures de Windows, pour ajouter
ou modifier des fichiers dans le répertoire
%Windir%\System32, démarrez Windows PowerShell
avec l'option " Exécuter en tant qu'administrateur ".
Vous pouvez modifier les emplacements de module par défaut
sur votre système en modifiant la valeur de la variable
d'environnement PSModulePath ($env:psmodulepath). La variable
d'environnement PSModulePath est modelée sur la variable
d'environnement Path et présente le même format.
Pour afficher les emplacements de module par défaut, tapez :
$env:psmodulepath
Pour ajouter un emplacement de module par défaut, utilisez le
format de commande suivant :
$env:psmodulepath = $env:psmodulepath + ";<chemin d'accès>"
Le point-virgule (;) dans la commande sépare le nouveau chemin
d'accès du chemin d'accès qui le précède dans la liste.
Par exemple, pour ajouter le répertoire " C:\ps-test\Modules ",
tapez :
$env:psmodulepath + ";c:\ps-test\Modules"
Lorsque vous ajoutez un chemin d'accès à PSModulePath, les
commandes Get-Module et Import-Module incluent les modules de ce
chemin d'accès.
La valeur que vous définissez affecte uniquement la session
active. Pour rendre la modification permanente, ajoutez la
commande à votre profil Windows PowerShell ou utilisez Système
dans le Panneau de configuration pour modifier la valeur de la
variable d'environnement PSModulePath dans le Registre.
Pour plus d'informations sur la variable PSModulePath, consultez
about_Environment_Variables.
MODULES ET CONFLITS DE NOM
Des conflits de nom surviennent lorsque plusieurs commandes ont
le même nom dans la session. L'importation d'un module provoque
un conflit de nom lorsque les commandes qu'il contient ont les
mêmes noms que des commandes ou éléments de la session.
À cause des conflits de nom, certaines commandes peuvent être
masquées ou remplacées.
-- Masquée. Une commande est masquée si ce n'est pas elle qui
s'exécute lorsque vous tapez le nom de commande, mais que
vous pouvez l'exécuter à l'aide d'une autre méthode, par
exemple en qualifiant le nom de commande avec le nom du
module ou composant logiciel enfichable d'où elle provient.
-- Remplacée. Une commande est remplacée lorsque vous ne
pouvez pas l'exécuter parce qu'elle a été écrasée par une
commande du même nom. Vous ne pouvez pas exécuter une
commande remplacée même lorsque vous supprimez le module
qui a provoqué le conflit, à moins de redémarrer la session.
Import-Module peut ajouter des commandes qui masquent et
remplacent certaines commandes de la session active. De même, les
commandes de votre session peuvent masquer des commandes que le
module a ajoutées.
Pour empêcher les conflits de nom, utilisez le paramètre Prefix
d'Import-Command pour créer des noms uniques pour les commandes
importées.
Vous pouvez également utiliser les paramètres Alias, Cmdlet,
Function et Variable d'Import-Module pour sélectionner uniquement
les commandes que vous souhaitez importer et vous pouvez exclure les
commandes provoquant des conflits de nom dans votre session.
Même si une commande est masquée, vous pouvez l'exécuter en
qualifiant le nom de commande avec le nom du module ou composant
logiciel enfichable d'où elle provient. Les règles de priorité
des commandes de Windows PowerShell déterminent quelle commande
s'exécute lorsque la session inclut des commandes portant le
même nom.
Par exemple, lorsqu'une session inclut une fonction et une applet
de commande portant le même nom, par défaut, Windows PowerShell
exécute la fonction. Lorsque la session inclut des commandes du
même type et portant le même nom, par exemple deux applets de
commande du même nom, par défaut, elle exécute celle qui a été
ajoutée le plus récemment.
Pour plus d'informations, notamment pour une explication sur
les règles de priorité et des instructions sur l'exécution de
commandes masquées, consultez about_Command_Precedence.
MODULES ET COMPOSANTS LOGICIELS ENFICHABLES
Vous pouvez ajouter des commandes à votre session à partir de
modules et de composants logiciels enfichables. Les modules
peuvent ajouter tout type de commande (applets de commande,
fournisseurs et fonctions) et des éléments tels que variables,
alias et lecteurs Windows PowerShell. Les composants logiciels
enfichables peuvent uniquement ajouter des applets de commande
et des fournisseurs.
En fait, bien que vous puissiez ajouter des fonctions, alias,
variables et lecteurs à votre session en les tapant ou en
exécutant un script qui les ajoute, toutes les applets de
commande et tous les fournisseurs de votre session proviennent
d'un module ou d'un composant logiciel enfichable.
Avant de supprimer un module ou composant logiciel enfichable
de votre session, utilisez les commandes suivantes pour savoir
quelles commandes seront supprimées.
Pour trouver la source d'une applet de commande de votre session,
utilisez le format de commande suivant :
get-command <nom-applet de commande> | format-list -property verb,
gnoun, pssnapin, module
Par exemple, pour trouver la source de l'applet de commande
Get-Date, tapez :
get-command get-date | format-list -property verb, noun,
pssnapin, module
Pour plus d'informations sur les composants logiciels enfichables
Windows PowerShell, consultez about_PSSnapins.
VOIR AUSSI
about_Command_Precedence
about_PSSnapins
Get-Command
Get-Help
Get-Module
Import-Module
Remove-Module