Delen via


Install-Module

Downloadt een of meer modules uit een opslagplaats en installeert deze op de lokale computer.

Syntaxis

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

De Install-Module-cmdlet haalt een of meer modules op die voldoen aan opgegeven criteria uit een onlineopslagplaats. De cmdlet controleert of zoekresultaten geldige modules zijn en kopieert de modulemappen naar de installatielocatie. Geïnstalleerde modules worden na de installatie niet automatisch geïmporteerd. U kunt filteren welke module is geïnstalleerd op basis van de minimale, maximale en exacte versies van opgegeven modules.

Dit is een proxy-cmdlet voor de Get-InstalledPSResource cmdlet in de Microsoft.PowerShell.PSResourceGet. Zie Install-PSResourcevoor meer informatie.

Voorbeelden

Voorbeeld 1: Een module zoeken en installeren

In dit voorbeeld wordt een module gevonden in de opslagplaats en wordt de module geïnstalleerd.

Find-Module -Name PowerShellGet | Install-Module

De Find-Module gebruikt de parameter Name om de module PowerShellGet op te geven. Standaard wordt de nieuwste versie van de module gedownload uit de opslagplaats. Het object wordt naar de pijplijn verzonden naar de cmdlet Install-Module. Install-Module installeert de module voor alle gebruikers in $env:ProgramFiles\PowerShell\Modules.

Voorbeeld 2: Een module installeren op naam

In dit voorbeeld is de nieuwste versie van de module PowerShellGet geïnstalleerd.

Install-Module -Name PowerShellGet

De Install-Module gebruikt de parameter Name om de module PowerShellGet op te geven. Standaard wordt de nieuwste versie van de module gedownload uit de opslagplaats en geïnstalleerd.

Voorbeeld 3: Een module installeren met de minimale versie

In dit voorbeeld wordt de minimale versie van de PowerShellGet-module geïnstalleerd. De parameter MinimumVersion geeft de laagste versie van de module op die moet worden geïnstalleerd. Als er een nieuwere versie van de module beschikbaar is, wordt die versie voor alle gebruikers gedownload en geïnstalleerd.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

De Install-Module gebruikt de parameter Name om de module PowerShellGet op te geven. De parameter MinimumVersion geeft aan dat versie 2.0.1 wordt gedownload uit de opslagplaats en geïnstalleerd. Omdat versie 2.0.4 beschikbaar is, wordt die versie voor alle gebruikers gedownload en geïnstalleerd.

Voorbeeld 4: Een specifieke versie van een module installeren

In dit voorbeeld wordt een specifieke versie van de PowerShellGet-module geïnstalleerd.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

De Install-Module gebruikt de parameter Name om de module PowerShellGet op te geven. De parameter RequiredVersion geeft aan dat versie 2.0.0 wordt gedownload en geïnstalleerd voor alle gebruikers.

Voorbeeld 5: Een module alleen installeren voor de huidige gebruiker

In dit voorbeeld wordt de nieuwste versie van een module gedownload en geïnstalleerd, alleen voor de huidige gebruiker.

Install-Module -Name PowerShellGet -Scope CurrentUser

De Install-Module gebruikt de parameter Name om de module PowerShellGet op te geven. Install-Module downloadt en installeert de nieuwste versie van PowerShellGet- in de map van de huidige gebruiker, $HOME\Documents\PowerShell\Modules.

Voorbeeld 6: De meest recente voorlopige versie van een module installeren

In dit voorbeeld ziet u hoe u de nieuwste versie van een module installeert wanneer die versie een voorlopige versie is. Voor het installeren van een prereleaseversie is de parameter AllowPrerelease vereist.

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

Met deze methode krijgt u de nieuwste versie die beschikbaar is. Als de nieuwste versie geen voorlopige versie is, krijgt u de nieuwste stabiele versie van de module.

Voorbeeld 7: Een specifieke voorlopige versie van een module installeren

In dit voorbeeld ziet u hoe u een specifieke voorlopige versie van een module installeert. De cmdlet Find-Module kan worden gebruikt om voorlopige versies van modules te vinden in de PowerShell Gallery.

Prerelease-versies hebben een indeling van <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

Gebruik de versie die wordt weergegeven in de PowerShell Gallery voor de waarde van de parameter RequiredVersion.

Parameters

-AcceptLicense

Voor modules waarvoor een licentie is vereist, accepteert AcceptLicense automatisch de gebruiksrechtovereenkomst tijdens de installatie. Zie Modules waarvoor licentieacceptatie is vereistvoor meer informatie.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AllowClobber

Overschrijft waarschuwingsberichten over installatieconflicten over bestaande opdrachten op een computer. Hiermee overschrijft u bestaande opdrachten met dezelfde naam als opdrachten die door een module worden geïnstalleerd. AllowClobber- en Forceren kunnen samen worden gebruikt in een Install-Module opdracht.

De proxy-cmdlet transformeert de waarde van deze parameter naar de parameter NoClobber van de Install-PSResource cmdlet.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-AllowPrerelease

Hiermee kunt u een module installeren die is gemarkeerd als een voorlopige versie.

De proxy-cmdlet wijst deze parameter toe aan de Prerelease parameter van Install-PSResource.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Confirm

U wordt gevraagd om bevestiging voordat u de cmdlet Install-Module uitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u een gebruikersaccount met rechten voor het installeren van een module voor een opgegeven pakketprovider of bron.

Type:PSCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Force

De proxy-cmdlet negeert deze parameter omdat deze niet wordt ondersteund door Install-PSResource.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Wordt gebruikt voor pijplijninvoer. Er wordt een fout gegenereerd als een waarde die rechtstreeks aan InputObjectis opgegeven. Gebruik de pijplijn om objecten door te geven met de parameter InputObject.

Type:PSObject[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-MaximumVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een zoektekenreeks voor NuGet-versies te maken voor gebruik met de parameter Version van Install-PSResource.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-MinimumVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een zoektekenreeks voor NuGet-versies te maken voor gebruik met de parameter Version van Install-PSResource.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u de exacte namen van modules die moeten worden geïnstalleerd vanuit de onlinegalerie. Er wordt een door komma's gescheiden lijst met modulenamen geaccepteerd. De modulenaam moet overeenkomen met de modulenaam in de opslagplaats. Gebruik Find-Module om een lijst met modulenamen op te halen.

Type:String[]
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-PassThru

Wanneer u de parameter PassThru gebruikt, voert Install-Module een PSRepositoryItemInfo--object voor de module uit. Dit is dezelfde informatie die u krijgt van de Find-Module cmdlet.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Proxy

De proxy-cmdlet negeert deze parameter omdat deze niet wordt ondersteund door Install-PSResource.

Type:Uri
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-ProxyCredential

De proxy-cmdlet negeert deze parameter omdat deze niet wordt ondersteund door Install-PSResource.

Type:PSCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Repository

Gebruik de parameter Repository om de naam van de opslagplaats op te geven waaruit een module moet worden gedownload en geïnstalleerd. Wordt gebruikt wanneer meerdere opslagplaatsen zijn geregistreerd. Hiermee geeft u de naam van een geregistreerde opslagplaats in de opdracht Install-Module. Als u een opslagplaats wilt registreren, gebruikt u Register-PSRepository. Gebruik Get-PSRepositoryom geregistreerde opslagplaatsen weer te geven.

Type:String[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-RequiredVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een zoektekenreeks voor NuGet-versies te maken voor gebruik met de parameter Version van Install-PSResource.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Scope

Hiermee geeft u het installatiebereik van de module. De acceptabele waarden voor deze parameter zijn AllUsers en CurrentUser.

De AllUsers bereik installeert modules op een locatie die toegankelijk is voor alle gebruikers van de computer:

$env:ProgramFiles\PowerShell\Modules

De CurrentUser installeert modules op een locatie die alleen toegankelijk is voor de huidige gebruiker van de computer. Bijvoorbeeld:

$HOME\Documents\PowerShell\Modules

Wanneer er geen Bereik is gedefinieerd, wordt de standaard ingesteld op basis van de PowerShellGet-versie.

  • In PowerShellGet 1.x-versies is de standaardinstelling AllUsers, waarvoor uitbreiding van de installatie is vereist.
  • Voor PowerShellGet-versies 2.0.0 en hoger in PowerShell 6 of hoger:
    • De standaardwaarde is CurrentUser-, waarvoor geen uitbreiding van de installatie is vereist.
    • Als u in een sessie met verhoogde bevoegdheid werkt, is de standaardinstelling AllUsers.
Type:String
Geaccepteerde waarden:CurrentUser, AllUsers
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SkipPublisherCheck

De proxy-cmdlet transformeert deze parameter naar AuthenticodeCheck- voordat u Install-PSResourceaanroept.

Type:SwitchParameter
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Toont wat er zou gebeuren als een Install-Module opdracht werd uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

PSRepositoryItemInfo

Find-Module maakt PSRepositoryItemInfo objecten die in de pijplijn naar Install-Modulekunnen worden verzonden.

String[]

PSObject[]

String

PSCredential

Uri

Uitvoerwaarden

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Wanneer u de parameter PassThru gebruikt, voert Install-Module een PSRepositoryItemInfo--object voor de module uit. Dit is dezelfde informatie die u krijgt van de Find-Module cmdlet.

Notities

PowerShell bevat de volgende aliassen voor Install-Module:

  • Alle platforms:
    • inmo

Install-Module wordt uitgevoerd op PowerShell 5.0 of hoger, in Windows 7 of Windows 2008 R2 en latere versies van Windows.

Belangrijk

Vanaf april 2020 biedt de PowerShell Gallery geen ondersteuning meer voor TLS-versies (Transport Layer Security) 1.0 en 1.1. Als u TLS 1.2 of hoger niet gebruikt, krijgt u een foutmelding wanneer u toegang probeert te krijgen tot de PowerShell Gallery. Gebruik de volgende opdracht om ervoor te zorgen dat u TLS 1.2 gebruikt:

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

Zie de aankondiging in de PowerShell-blog voor meer informatie.

Als best practice voor beveiliging evalueert u de code van een module voordat u cmdlets of functies voor de eerste keer uitvoert. Om te voorkomen dat modules worden uitgevoerd die schadelijke code bevatten, worden geïnstalleerde modules na de installatie niet automatisch geïmporteerd.

Als de modulenaam die is opgegeven door de parameter Name niet in de opslagplaats bestaat, retourneert Install-Module een fout.

Als u meerdere modules wilt installeren, gebruikt u de parameter Name en geeft u een door komma's gescheiden matrix met modulenamen op. Als u meerdere modulenamen opgeeft, kunt u MinimumVersion, MaximumVersionof RequiredVersionniet gebruiken. Find-Module maakt PSRepositoryItemInfo objecten die in de pijplijn naar Install-Modulekunnen worden verzonden. De pijplijn is een andere manier om meerdere modules op te geven die in één opdracht moeten worden geïnstalleerd.

Modules voor het bereik van AllUsers- worden standaard geïnstalleerd in $env:ProgramFiles\PowerShell\Modules. De standaardinstelling voorkomt verwarring wanneer u DSC-resources (PowerShell Desired State Configuration) installeert.

De installatie van een module mislukt en kan niet worden geïmporteerd als deze geen .psm1, .psd1of .dll van dezelfde naam in de map heeft. Gebruik de parameter Force om de module te installeren.

Als de versie van een bestaande module overeenkomt met de naam die is opgegeven door de parameter Name en de parameter MinimumVersion of RequiredVersion niet worden gebruikt, wordt Install-Module op de achtergrond voortgezet, maar wordt de module niet geïnstalleerd.

Als de versie van een bestaande module groter is dan de waarde van de parameter MinimumVersion of gelijk is aan de waarde van de parameter RequiredVersion, gaat Install-Module op de achtergrond door, maar installeert de module niet.

Als de bestaande module niet overeenkomt met de waarden die zijn opgegeven door de MinimumVersion of RequiredVersion parameters, treedt er een fout op in de opdracht Install-Module. Als de versie van de bestaande geïnstalleerde module bijvoorbeeld lager is dan de MinimumVersion waarde of niet gelijk is aan de RequiredVersion waarde.

Install-Module installeert ook afhankelijke modules die zijn opgegeven zoals vereist door de uitgever van de module. De uitgever vermeldt de vereiste modules en de bijbehorende versies in het modulemanifest.