Share via


Install-Module

Télécharge un ou plusieurs modules à partir d’un référentiel et les installe sur l’ordinateur local.

Syntax

Install-Module
       [-Name] <String[]>
       [-MinimumVersion <String>]
       [-MaximumVersion <String>]
       [-RequiredVersion <String>]
       [-Repository <String[]>]
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AllowPrerelease]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Install-Module
       [-InputObject] <PSObject[]>
       [-Credential <PSCredential>]
       [-Scope <String>]
       [-Proxy <Uri>]
       [-ProxyCredential <PSCredential>]
       [-AllowClobber]
       [-SkipPublisherCheck]
       [-Force]
       [-AcceptLicense]
       [-PassThru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

L’applet Install-Module de commande obtient un ou plusieurs modules qui répondent aux critères spécifiés à partir d’un dépôt en ligne. L’applet de commande vérifie que les résultats de la recherche sont des modules valides et copie les dossiers de module dans l’emplacement d’installation. Les modules installés ne sont pas importés automatiquement après l’installation. Vous pouvez filtrer le module installé en fonction des versions minimales, maximales et exactes des modules spécifiés.

Si le module en cours d’installation a le même nom ou la même version, ou contient des commandes dans un module existant, des messages d’avertissement s’affichent. Après avoir confirmé que vous souhaitez installer le module et remplacer les avertissements, utilisez les -Force paramètres et -AllowClobber . En fonction des paramètres de votre dépôt, vous devrez peut-être répondre à une invite pour que l’installation du module se poursuive.

Ces exemples utilisent le PowerShell Gallery comme seul dépôt inscrit. Get-PSRepository affiche les dépôts inscrits. Si vous avez plusieurs référentiels inscrits, utilisez le -Repository paramètre pour spécifier le nom du dépôt.

Exemples

Exemple 1 : Rechercher et installer un module

Cet exemple recherche un module dans le référentiel et installe le module.

Find-Module -Name PowerShellGet | Install-Module

Utilise Find-Module le paramètre Name pour spécifier le module PowerShellGet . Par défaut, la version la plus récente du module est téléchargée à partir du dépôt. L’objet est envoyé vers le bas du pipeline à l’applet de Install-Module commande . Install-Module installe le module pour tous les utilisateurs dans $env:ProgramFiles\PowerShell\Modules.

Exemple 2 : Installer un module par nom

Dans cet exemple, la version la plus récente du module PowerShellGet est installée.

Install-Module -Name PowerShellGet

Utilise Install-Module le paramètre Name pour spécifier le module PowerShellGet . Par défaut, la version la plus récente du module est téléchargée à partir du dépôt et installée.

Exemple 3 : Installer un module à l’aide de sa version minimale

Dans cet exemple, la version minimale du module PowerShellGet est installée. Le paramètre MinimumVersion spécifie la version la plus basse du module qui doit être installée. Si une version plus récente du module est disponible, cette version est téléchargée et installée pour tous les utilisateurs.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Utilise Install-Module le paramètre Name pour spécifier le module PowerShellGet . Le paramètre MinimumVersion spécifie que la version 2.0.1 est téléchargée à partir du dépôt et installée. Étant donné que la version 2.0.4 est disponible, cette version est téléchargée et installée pour tous les utilisateurs.

Exemple 4 : Installer une version spécifique d’un module

Dans cet exemple, une version spécifique du module PowerShellGet est installée.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Utilise Install-Module le paramètre Name pour spécifier le module PowerShellGet . Le paramètre RequiredVersion spécifie que la version 2.0.0 est téléchargée et installée pour tous les utilisateurs.

Exemple 5 : Installer un module uniquement pour l’utilisateur actuel

Cet exemple télécharge et installe la version la plus récente d’un module, uniquement pour l’utilisateur actuel.

Install-Module -Name PowerShellGet -Scope CurrentUser

Utilise Install-Module le paramètre Name pour spécifier le module PowerShellGet . Install-Module télécharge et installe la dernière version de PowerShellGet dans le répertoire de l’utilisateur actuel, $home\Documents\PowerShell\Modules.

Paramètres

-AcceptLicense

Pour les modules qui nécessitent une licence, AcceptLicense accepte automatiquement le contrat de licence pendant l’installation. Pour plus d’informations, consultez Modules nécessitant l’acceptation de la licence.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowClobber

Remplace les messages d’avertissement concernant les conflits d’installation liés aux commandes existantes sur un ordinateur. Remplace les commandes existantes qui portent le même nom que les commandes installées par un module. AllowClobber et Force peuvent être utilisés ensemble dans une Install-Module commande.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

Vous permet d’installer un module marqué comme préversion.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de Install-Module commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Spécifie un compte d’utilisateur qui dispose des droits d’installation d’un module pour un fournisseur ou une source de package spécifié.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Installe un module et remplace les messages d’avertissement relatifs aux conflits d’installation de module. Si un module portant le même nom existe déjà sur l’ordinateur, Force permet d’installer plusieurs versions. S’il existe un module portant le même nom et la même version, Force remplace cette version. Force et AllowClobber peuvent être utilisés ensemble dans une Install-Module commande.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Utilisé pour l’entrée de pipeline. Une erreur est générée si une valeur fournie directement à InputObject. Utilisez le pipeline pour passer des objets avec le paramètre InputObject .

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaximumVersion

Spécifie la version maximale d’un seul module à installer. La version installée doit être inférieure ou égale à MaximumVersion. Si vous souhaitez installer plusieurs modules, vous ne pouvez pas utiliser MaximumVersion. MaximumVersion et RequiredVersion ne peuvent pas être utilisés dans la même Install-Module commande.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinimumVersion

Spécifie la version minimale d’un seul module à installer. La version installée doit être supérieure ou égale à MinimumVersion. Si une version plus récente du module est disponible, la version la plus récente est installée. Si vous souhaitez installer plusieurs modules, vous ne pouvez pas utiliser MinimumVersion. MinimumVersion et RequiredVersion ne peuvent pas être utilisés dans la même Install-Module commande.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Spécifie les noms exacts des modules à installer à partir de la galerie en ligne. Une liste de noms de module séparés par des virgules est acceptée. Le nom du module doit correspondre au nom du module dans le référentiel. Utilisez Find-Module pour obtenir la liste des noms de modules.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

Spécifie un serveur proxy pour la requête, plutôt que de se connecter directement à la ressource Internet.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

Spécifie un compte d'utilisateur qui a l'autorisation d'utiliser le serveur proxy spécifié par le paramètre Proxy.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

Utilisez le paramètre Référentiel pour spécifier le référentiel utilisé pour télécharger et installer un module. Utilisé lorsque plusieurs référentiels sont inscrits. Spécifie le nom d’un dépôt inscrit dans la Install-Module commande . Pour inscrire un dépôt, utilisez Register-PSRepository. Pour afficher les dépôts inscrits, utilisez Get-PSRepository.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Spécifie la version exacte d’un seul module à installer. S’il n’existe aucune correspondance dans le référentiel pour la version spécifiée, une erreur s’affiche. Si vous souhaitez installer plusieurs modules, vous ne pouvez pas utiliser RequiredVersion. RequiredVersion ne peut pas être utilisé dans la même Install-Module commande que MinimumVersion ou MaximumVersion.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Spécifie l’étendue d’installation du module. Les valeurs acceptables pour ce paramètre sont AllUsers et CurrentUser.

L’étendue AllUsers installe les modules dans un emplacement accessible à tous les utilisateurs de l’ordinateur :

$env:ProgramFiles\PowerShell\Modules

CurrentUser installe les modules dans un emplacement accessible uniquement à l’utilisateur actuel de l’ordinateur. Par exemple :

$home\Documents\PowerShell\Modules

Lorsqu’aucune étendue n’est définie, la valeur par défaut est définie en fonction de la version de PowerShellGet.

  • Dans PowerShellGet versions 2.0.0 et ultérieures, la valeur par défaut est CurrentUser, qui ne nécessite pas d’élévation pour l’installation.
  • Dans les versions de PowerShellGet 1.x, la valeur par défaut est AllUsers, qui nécessite une élévation pour l’installation.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Vous permet d’installer une version plus récente d’un module qui existe déjà sur votre ordinateur. Par exemple, lorsqu’un module existant est signé numériquement par un éditeur approuvé, mais que la nouvelle version n’est pas signée numériquement par un éditeur approuvé.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Affiche ce qui se passerait si une Install-Module commande était exécutée. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

PSRepositoryItemInfo

Find-Module crée des objets PSRepositoryItemInfo qui peuvent être envoyés dans le pipeline à Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Sorties

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Lorsque vous utilisez le paramètre PassThru , Install-Module génère un objet PSRepositoryItemInfo pour le module. Il s’agit des mêmes informations que celles que vous obtenez à partir de l’applet Find-Module de commande .

Notes

Install-Module s’exécute sur PowerShell 5.0 ou versions ultérieures, sur Windows 7 ou Windows 2008 R2 et versions ultérieures de Windows.

Important

Depuis avril 2020, PowerShell Gallery ne prend plus en charge les versions 1.0 et 1.1 de Transport Layer Security (TLS). Si vous n'utilisez pas TLS 1.2 ou une version plus récente, vous recevez une erreur lorsque vous tentez d'accéder à PowerShell Gallery. Utilisez la commande suivante pour vous assurer que vous utilisez TLS 1.2 :

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Pour plus d’informations, consultez l’annonce sur le blog PowerShell.

En guise de bonne pratique de sécurité, évaluez le code d’un module avant d’exécuter des applets de commande ou des fonctions pour la première fois. Pour empêcher l’exécution de modules qui contiennent du code malveillant, les modules installés ne sont pas automatiquement importés après l’installation.

Si le nom de module spécifié par le paramètre Name n’existe pas dans le dépôt, Install-Module retourne une erreur.

Pour installer plusieurs modules, utilisez le paramètre Name et spécifiez un tableau de noms de module séparés par des virgules. Si vous spécifiez plusieurs noms de module, vous ne pouvez pas utiliser MinimumVersion, MaximumVersion ou RequiredVersion. Find-Module crée des objets PSRepositoryItemInfo qui peuvent être envoyés dans le pipeline à Install-Module. Le pipeline est une autre façon de spécifier plusieurs modules à installer dans une seule commande.

Par défaut, les modules pour l’étendue de AllUsers sont installés dans $env:ProgramFiles\PowerShell\Modules. La valeur par défaut empêche toute confusion lorsque vous installez des ressources PowerShell Desired State Configuration (DSC).

L’installation d’un .psm1module échoue et ne peut pas être importée s’il n’a pas , .psd1ou .dll du même nom dans le dossier . Utilisez le paramètre Force pour installer le module.

Si la version d’un module existant correspond au nom spécifié par le paramètre Name et que le paramètre MinimumVersion ou RequiredVersion n’est pas utilisé, Install-Module continue en mode silencieux, mais n’installe pas le module.

Si la version d’un module existant est supérieure à la valeur du paramètre MinimumVersion ou égale à la valeur du paramètre RequiredVersion , continue en mode silencieux, Install-Module mais n’installe pas le module.

Si le module existant ne correspond pas aux valeurs spécifiées par les paramètres MinimumVersion ou RequiredVersion , une erreur se produit dans la Install-Module commande. Par exemple, si la version du module installé existant est inférieure à la valeur MinimumVersion ou n’est pas égale à la valeur RequiredVersion .

Une installation de module installe également tous les modules dépendants spécifiés comme requis par l’éditeur de module. L’éditeur spécifie les modules requis et leurs versions dans le manifeste du module.