Install-Module

Downloadt een of meer modules uit een opslagplaats en installeert 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 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 de opgegeven modules.

Als de module die wordt geïnstalleerd dezelfde naam of versie heeft, of opdrachten bevat in een bestaande module, worden waarschuwingsberichten weergegeven. Nadat u hebt bevestigd dat u de module wilt installeren en de waarschuwingen wilt overschrijven, gebruikt u de -Force parameters en -AllowClobber . Afhankelijk van de instellingen van uw opslagplaats moet u mogelijk een prompt beantwoorden om door te gaan met de installatie van de module.

De parameters die versienummers van de module gebruiken, verwachten tekenreeksen die zijn opgemaakt als versienummers.

  • Standaardversienummers hebben een notatie waarbij x.y.z x, y en z getallen zijn
  • Voorlopige versies hebben een indeling waarin x.y.z-<prerelease_label> de <prerelease_label> willekeurige tekenreeks is toegewezen aan die release.

In deze voorbeelden wordt de PowerShell Gallery gebruikt als de enige geregistreerde opslagplaats. Get-PSRepository geeft de geregistreerde opslagplaatsen weer. Als u meerdere geregistreerde opslagplaatsen hebt, gebruikt u de parameter om de -Repository naam van de opslagplaats op te geven.

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 door 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 licentie-acceptatie 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. Bestaande opdrachten die dezelfde naam hebben als opdrachten die door een module worden geïnstalleerd, worden overschreven. AllowClobber en Force kunnen samen worden gebruikt in een Install-Module opdracht.

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 voorlopige versie.

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

Installeert een module en overschrijft waarschuwingsberichten over module-installatieconflicten. Als er al een module met dezelfde naam op de computer bestaat, kunnen met Force meerdere versies worden geïnstalleerd. Als er een bestaande module met dezelfde naam en versie is, overschrijft Force die versie. Force en AllowClobber kunnen samen worden gebruikt in een Install-Module opdracht.

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

-InputObject

Wordt gebruikt voor pijplijninvoer. Er wordt een fout gegenereerd 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

Hiermee geeft u de maximale versie van één module te installeren. De geïnstalleerde versie moet kleiner zijn dan of gelijk zijn aan MaximumVersion. Als u meerdere modules wilt installeren, kunt u MaximumVersion niet gebruiken. MaximumVersion en RequiredVersion kunnen niet worden gebruikt in dezelfde Install-Module opdracht.

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

-MinimumVersion

Hiermee geeft u de minimale versie van één module te installeren. De geïnstalleerde versie moet groter zijn dan of gelijk zijn aan MinimumVersion. Als er een nieuwere versie van de module beschikbaar is, wordt de nieuwere versie geïnstalleerd. Als u meerdere modules wilt installeren, kunt u MinimumVersion niet gebruiken. MinimumVersion en RequiredVersion kunnen niet worden gebruikt in dezelfde Install-Module opdracht.

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

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

-Proxy

Hiermee geeft u een proxyserver voor de aanvraag, in plaats van rechtstreeks verbinding te maken met de internetbron.

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

-ProxyCredential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om de proxyserver te gebruiken die is opgegeven door de parameter Proxy .

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

Hiermee geeft u de exacte versie van één module te installeren. Als er geen overeenkomst is in de opslagplaats voor de opgegeven versie, wordt er een fout weergegeven. Als u meerdere modules wilt installeren, kunt u RequiredVersion niet gebruiken. RequiredVersion kan niet worden gebruikt in dezelfde Install-Module opdracht als MinimumVersion of MaximumVersion.

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.

Met het bereik AllUsers worden modules geïnstalleerd 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 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 benodigde uitbreiding is vereist voor de installatie.
    • Als u een sessie met verhoogde bevoegdheid uitvoert, is de standaardinstelling AllUsers.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Hiermee kunt u een nieuwere versie van een module installeren die al op uw computer bestaat. Bijvoorbeeld wanneer een bestaande module digitaal is ondertekend door een vertrouwde uitgever, maar de nieuwe versie niet digitaal is ondertekend door een vertrouwde uitgever.

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

-WhatIf

Laat zien 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 maakt 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 krijgt van de Find-Module cmdlet.

Notities

PowerShell bevat de volgende aliassen voor Install-Module:

  • Alle platformen:
    • inmo

Install-Module wordt uitgevoerd op PowerShell 5.0 of latere versies, 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 best practice voor beveiliging moet 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 maakt 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 (DSC)-resources installeert.

De installatie van een .psm1module mislukt en kan niet worden geïmporteerd als deze geen , .psd1of .dll dezelfde naam heeft in de map. 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 met 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 Van MinimumVersion of niet gelijk is aan de waarde van RequiredVersion .

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