Install-Module

Hiermee downloadt u een of meer modules uit een opslagplaats en installeert u deze op de lokale computer.

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

De Install-Module cmdlet haalt een of meer modules op die voldoen aan opgegeven criteria uit een onlineopslagplaats. De cmdlet controleert of de zoekresultaten geldige modules zijn en kopieert de modulemappen naar de installatielocatie. Geïnstalleerde modules worden niet automatisch geïmporteerd na de installatie. 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 Microsoft.PowerShell.PSResourceGet. Zie Install-PSResource voor meer informatie.

Voorbeelden

Voorbeeld 1: Een module zoeken en installeren

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

Find-Module -Name PowerShellGet | Install-Module

De Find-Module gebruikt de parameter Name om de PowerShellGet-module op te geven. Standaard wordt de nieuwste versie van de module gedownload uit de opslagplaats. Het object wordt via de pijplijn naar de Install-Module cmdlet verzonden. 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 PowerShellGet-module geïnstalleerd.

Install-Module -Name PowerShellGet

De Install-Module gebruikt de parameter Name om de PowerShellGet-module 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 is 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 gedownload en geïnstalleerd voor alle gebruikers.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

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

Voorbeeld 4: Een specifieke versie van een module installeren

In dit voorbeeld is 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 PowerShellGet-module 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 PowerShellGet-module 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 voorlopige versie 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 meest recente 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 Find-Module cmdlet kan worden gebruikt om voorlopige versies van modules te vinden in de PowerShell Gallery.

Voorlopige versies hebben de indeling <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 vereist voor meer informatie.

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

-AllowClobber

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

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

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

-AllowPrerelease

Hiermee kunt u een module installeren die is gemarkeerd als een pre-release.

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

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

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

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

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

-InputObject

Wordt gebruikt voor pijplijninvoer. Er treedt een fout op als een waarde rechtstreeks aan InputObject is opgegeven. Gebruik de pijplijn om objecten door te geven met de parameter InputObject .

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

-MaximumVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een nuGet-versiezoekreeks te maken voor gebruik met de versieparameter van Install-PSResource.

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

-MinimumVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een nuGet-versiezoekreeks te maken voor gebruik met de versieparameter van Install-PSResource.

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

-Name

Hiermee geeft u de exacte namen op van modules die moeten worden geïnstalleerd vanuit de onlinegalerie. Een door komma's gescheiden lijst met modulenamen wordt 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
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

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

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

-Proxy

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

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

-ProxyCredential

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

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

-Repository

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

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

-RequiredVersion

De proxy-cmdlet gebruikt de waarde van deze parameter om een nuGet-versiezoekreeks te maken voor gebruik met de versieparameter van Install-PSResource.

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

-Scope

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

Het bereik AllUsers 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 standaardwaarde ingesteld op basis van de PowerShellGet-versie.

  • In PowerShellGet 1.x-versies is de standaardwaarde AllUsers. Hiervoor is uitbreiding van de installatie vereist.
  • Voor PowerShellGet-versies 2.0.0 en hoger in PowerShell 6 of hoger:
    • De standaardwaarde is CurrentUser, waarvoor geen benodigde bevoegdheden zijn vereist voor de installatie.
    • Als u een sessie met verhoogde bevoegdheid uitvoert, is de standaardwaarde AllUsers.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

De proxy-cmdlet transformeert deze parameter naar AthenticodeCheck voordat u aanroept Install-PSResource.

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

-WhatIf

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

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

Invoerwaarden

PSRepositoryItemInfo

Find-Module hiermee maakt u PSRepositoryItemInfo-objecten die in de pijplijn kunnen worden verzonden naar Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Uitvoerwaarden

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

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

Notities

PowerShell bevat de volgende aliassen voor Install-Module:

  • Alle platformen:
    • inmo

Install-Module wordt uitgevoerd op Versies van PowerShell 5.0 of hoger, op 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 aanbevolen beveiligingsprocedure kunt u de code van een module evalueren voordat u cmdlets of functies voor het eerst uitvoert. Om te voorkomen dat modules worden uitgevoerd die schadelijke code bevatten, worden geïnstalleerde modules niet automatisch geïmporteerd na de installatie.

Als de modulenaam die is opgegeven door de parameter Name niet bestaat in de opslagplaats, Install-Module retourneert 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, MaximumVersion of RequiredVersion niet gebruiken. Find-Module hiermee maakt u PSRepositoryItemInfo-objecten die in de pijplijn kunnen worden verzonden naar Install-Module. 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 PowerShell Desired State Configuration-resources (DSC) installeert.

De installatie van een .psm1module mislukt en kan niet worden geïmporteerd als deze geen , .psd1of .dll met 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 wordt gebruikt, Install-Module wordt de 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 , Install-Module wordt de module op de achtergrond voortgezet, maar wordt de module niet geïnstalleerd.

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

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