Install-Module

Télécharge un ou plusieurs modules à partir d’un dépôt 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 automatiquement importés après l’installation. Vous pouvez filtrer le module installé en fonction des versions minimales, maximales et exactes des modules spécifiés.

Il s’agit d’une applet de commande de proxy pour l’applet Get-InstalledPSResource de commande dans Microsoft.PowerShell.PSResourceGet. Pour plus d’informations, consultez Install-PSResource.

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.

Exemple 6 : Installer la dernière version préliminaire d’un module

Cet exemple montre comment installer la dernière version d’un module lorsque cette version est une version préliminaire. L’installation d’une version préliminaire nécessite le paramètre AllowPrerelease .

Install-Module -Name Microsoft.PowerShell.Crescendo -AllowPrerelease

Cette méthode vous permet d’obtenir la dernière version disponible. Si la dernière version n’est pas une préversion, vous obtenez la dernière version stable du module.

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

Cet exemple montre comment installer une préversion spécifique d’un module. L’applet Find-Module de commande peut être utilisée pour rechercher des versions préliminaires de modules dans le PowerShell Gallery.

Les versions préliminaires ont un format de <version_number>-<prerelease_label>.

Find-Module PSReadLine -AllVersions -AllowPrerelease | Select-Object -First 5

Version        Name             Repository       Description
-------        ----             ----------       -----------
2.2.6          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.5          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.4-beta1    PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.3          PSReadLine       PSGallery        Great command line editing in the PowerS…
2.2.2          PSReadLine       PSGallery        Great command line editing in the PowerS…

Install-Module -Name PSReadLine -RequiredVersion 2.2.4-beta1 -AllowPrerelease

Utilisez la version indiquée dans le PowerShell Gallery pour la valeur du paramètre RequiredVersion.

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.

L’applet de commande proxy transforme la valeur de ce paramètre en paramètre NoClobber de l’applet Install-PSResource de 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.

L’applet de commande proxy mappe ce paramètre au paramètre Prerelease de Install-PSResource.

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

L’applet de commande proxy ignore ce paramètre, car il n’est pas pris en charge par Install-PSResource.

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

L’applet de commande proxy utilise la valeur de ce paramètre pour créer une chaîne de recherche de version NuGet à utiliser avec le paramètre Version de Install-PSResource.

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

-MinimumVersion

L’applet de commande proxy utilise la valeur de ce paramètre pour créer une chaîne de recherche de version NuGet à utiliser avec le paramètre Version de Install-PSResource.

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

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 .

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

-Proxy

L’applet de commande proxy ignore ce paramètre, car il n’est pas pris en charge par Install-PSResource.

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

-ProxyCredential

L’applet de commande proxy ignore ce paramètre, car il n’est pas pris en charge par Install-PSResource.

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

-Repository

Utilisez le paramètre Repository pour spécifier le nom du dépôt à partir duquel 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

L’applet de commande proxy utilise la valeur de ce paramètre pour créer une chaîne de recherche de version NuGet à utiliser avec le paramètre Version de Install-PSResource.

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

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

  • Dans les versions de PowerShellGet 1.x, la valeur par défaut est AllUsers, ce qui nécessite une élévation pour l’installation.
  • Pour PowerShellGet versions 2.0.0 et ultérieures dans PowerShell 6 ou version ultérieure :
    • La valeur par défaut est CurrentUser, qui ne nécessite pas d’élévation pour l’installation.
    • Si vous exécutez dans une session avec élévation de privilèges, la valeur par défaut est AllUsers.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

L’applet de commande proxy transforme ce paramètre en AthenticodeCheck avant d’appeler Install-PSResource.

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

-WhatIf

Montre 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

PowerShell inclut les alias suivants pour Install-Module:

  • Toutes les plateformes :
    • inmo

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 version ultérieure, vous recevrez une erreur lorsque vous tentez d’accéder à la 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 ne sont pas utilisés, 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 , Install-Module continue en mode silencieux, 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 .

Install-Module installe également tous les modules dépendants spécifiés comme requis par l’éditeur de module. L’éditeur répertorie les modules requis et leurs versions dans le manifeste du module.