Dela via


Install-Module

Laddar ned en eller flera moduler från en lagringsplats och installerar dem på den lokala datorn.

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

Cmdleten Install-Module hämtar en eller flera moduler som uppfyller angivna kriterier från en onlinelagringsplats. Cmdleten verifierar att sökresultaten är giltiga moduler och kopierar modulmapparna till installationsplatsen. Installerade moduler importeras inte automatiskt efter installationen. Du kan filtrera vilken modul som är installerad baserat på de lägsta, högsta och exakta versionerna av angivna moduler.

Det här är en proxy-cmdlet för cmdleten Get-InstalledPSResource i Microsoft.PowerShell.PSResourceGet. Mer information finns i Install-PSResource.

Exempel

Exempel 1: Hitta och installera en modul

Det här exemplet hittar en modul på lagringsplatsen och installerar modulen.

Find-Module -Name PowerShellGet | Install-Module

Find-Module använder parametern Name för att ange modulen PowerShellGet. Som standard laddas den senaste versionen av modulen ned från lagringsplatsen. Objektet skickas ned i pipelinen till cmdleten Install-Module. Install-Module installerar modulen för alla användare i $env:ProgramFiles\PowerShell\Modules.

Exempel 2: Installera en modul efter namn

I det här exemplet installeras den senaste versionen av modulen PowerShellGet.

Install-Module -Name PowerShellGet

Install-Module använder parametern Name för att ange modulen PowerShellGet. Som standard laddas den senaste versionen av modulen ned från lagringsplatsen och installeras.

Exempel 3: Installera en modul med dess lägsta version

I det här exemplet installeras den lägsta versionen av modulen PowerShellGet. Parametern MinimumVersion anger den lägsta versionen av modulen som ska installeras. Om en nyare version av modulen är tillgänglig laddas den versionen ned och installeras för alla användare.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Install-Module använder parametern Name för att ange modulen PowerShellGet. Parametern MinimumVersion anger att version 2.0.1 laddas ned från lagringsplatsen och installeras. Eftersom version 2.0.4 är tillgänglig laddas den versionen ned och installeras för alla användare.

Exempel 4: Installera en specifik version av en modul

I det här exemplet installeras en specifik version av modulen PowerShellGet.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-Module använder parametern Name för att ange modulen PowerShellGet. Parametern RequiredVersion anger att version 2.0.0 laddas ned och installeras för alla användare.

Exempel 5: Installera endast en modul för den aktuella användaren

Det här exemplet laddar ned och installerar den senaste versionen av en modul, endast för den aktuella användaren.

Install-Module -Name PowerShellGet -Scope CurrentUser

Install-Module använder parametern Name för att ange modulen PowerShellGet. Install-Module laddar ned och installerar den senaste versionen av PowerShellGet- till den aktuella användarens katalog $HOME\Documents\PowerShell\Modules.

Exempel 6: Installera den senaste förhandsversionen av en modul

Det här exemplet visar hur du installerar den senaste versionen av en modul när den versionen är en förhandsversion. För att installera en förhandsversion krävs parametern AllowPrerelease.

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

Med den här metoden får du den senaste tillgängliga versionen. Om den senaste versionen inte är en förhandsversion får du den senaste stabila versionen av modulen.

Exempel 7: Installera en specifik förhandsversion av en modul

Det här exemplet visar hur du installerar en specifik förhandsversion av en modul. Cmdleten Find-Module kan användas för att hitta förhandsversioner av moduler i PowerShell-galleriet.

Förhandsversioner har formatet <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

Använd den version som visas i PowerShell-galleriet för värdet för parametern RequiredVersion.

Parametrar

-AcceptLicense

För moduler som kräver en licens godkänner AcceptLicense automatiskt licensavtalet under installationen. Mer information finns i moduler som kräver licensgodkännande.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-AllowClobber

Åsidosätter varningsmeddelanden om installationskonflikter om befintliga kommandon på en dator. Skriver över befintliga kommandon som har samma namn som kommandon som installeras av en modul. AllowClobber och Force kan användas tillsammans i ett Install-Module kommando.

Proxy-cmdleten omvandlar värdet för den här parametern till parametern NoClobber i cmdleten Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-AllowPrerelease

Gör att du kan installera en modul som har markerats som en förhandsversion.

Proxy-cmdleten mappar den här parametern till parametern Prerelease för Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten Install-Module.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Credential

Anger ett användarkonto som har behörighet att installera en modul för en angiven paketleverantör eller källa.

Typ:PSCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Force

Proxy-cmdleten ignorerar den här parametern eftersom den inte stöds av Install-PSResource.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Används för pipelineindata. Ett fel utlöses om ett värde som anges direkt till InputObject. Använd pipelinen för att skicka objekt med parametern InputObject.

Typ:PSObject[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-MaximumVersion

Proxy-cmdleten använder värdet för den här parametern för att skapa en NuGet-versionssökningssträng för användning med parametern Version för Install-PSResource.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-MinimumVersion

Proxy-cmdleten använder värdet för den här parametern för att skapa en NuGet-versionssökningssträng för användning med parametern Version för Install-PSResource.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Anger de exakta namnen på moduler som ska installeras från onlinegalleriet. En kommaavgränsad lista över modulnamn accepteras. Modulnamnet måste matcha modulnamnet på lagringsplatsen. Använd Find-Module för att hämta en lista över modulnamn.

Typ:String[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-PassThru

När du använder parametern PassThru skickar Install-Module ut ett PSRepositoryItemInfo- objekt för modulen. Det här är samma information som du får från cmdleten Find-Module.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Proxy

Proxy-cmdleten ignorerar den här parametern eftersom den inte stöds av Install-PSResource.

Typ:Uri
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ProxyCredential

Proxy-cmdleten ignorerar den här parametern eftersom den inte stöds av Install-PSResource.

Typ:PSCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Repository

Använd parametern Repository för att ange namnet på lagringsplatsen som du vill ladda ned och installera en modul från. Används när flera lagringsplatser registreras. Anger namnet på en registrerad lagringsplats i kommandot Install-Module. Om du vill registrera en lagringsplats använder du Register-PSRepository. Om du vill visa registrerade lagringsplatser använder du Get-PSRepository.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-RequiredVersion

Proxy-cmdleten använder värdet för den här parametern för att skapa en NuGet-versionssökningssträng för användning med parametern Version för Install-PSResource.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Scope

Anger modulens installationsomfång. De godtagbara värdena för den här parametern är AllUsers och CurrentUser.

Omfånget AllUsers installerar moduler på en plats som är tillgänglig för alla användare av datorn:

$env:ProgramFiles\PowerShell\Modules

CurrentUser installerar moduler på en plats som endast är tillgänglig för den aktuella användaren av datorn. Till exempel:

$HOME\Documents\PowerShell\Modules

När inget Omfång har definierats anges standardvärdet baserat på PowerShellGet-versionen.

  • I PowerShellGet 1.x-versioner är standardvärdet AllUsers, som kräver utökade installationer.
  • För PowerShellGet-versionerna 2.0.0 och senare i PowerShell 6 eller senare:
    • Standardvärdet är CurrentUser, som inte kräver utökade installationer.
    • Om du kör i en upphöjd session är standardvärdet Allaanvändare.
Typ:String
Godkända värden:CurrentUser, AllUsers
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SkipPublisherCheck

Proxy-cmdleten omvandlar den här parametern till AuthenticodeCheck innan Install-PSResourceanropas.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om ett Install-Module kommando kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSRepositoryItemInfo

Find-Module skapar PSRepositoryItemInfo objekt som kan skickas ned i pipelinen till Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Utdata

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

När du använder parametern PassThru skickar Install-Module ut ett PSRepositoryItemInfo- objekt för modulen. Det här är samma information som du får från cmdleten Find-Module.

Kommentarer

PowerShell innehåller följande alias för Install-Module:

  • Alla plattformar:
    • inmo

Install-Module körs på PowerShell 5.0 eller senare versioner, på Windows 7 eller Windows 2008 R2 och senare versioner av Windows.

Viktig

Från och med april 2020 stöder PowerShell-galleriet inte längre TLS-versionerna (Transport Layer Security) 1.0 och 1.1. Om du inte använder TLS 1.2 eller senare får du ett felmeddelande när du försöker komma åt PowerShell-galleriet. Använd följande kommando för att se till att du använder TLS 1.2:

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

Mer information finns i meddelande i PowerShell-bloggen.

Vi rekommenderar att du utvärderar en moduls kod innan du kör några cmdletar eller funktioner för första gången. För att förhindra att moduler som innehåller skadlig kod körs importeras inte installerade moduler automatiskt efter installationen.

Om modulnamnet som anges av parametern Name inte finns på lagringsplatsen returnerar Install-Module ett fel.

Om du vill installera flera moduler använder du parametern Name och anger en kommaavgränsad matris med modulnamn. Om du anger flera modulnamn kan du inte använda MinimumVersion, MaximumVersioneller RequiredVersion. Find-Module skapar PSRepositoryItemInfo objekt som kan skickas ned i pipelinen till Install-Module. Pipelinen är ett annat sätt att ange flera moduler som ska installeras i ett enda kommando.

Som standard installeras moduler för omfånget för Allaanvändare i $env:ProgramFiles\PowerShell\Modules. Standardinställningen förhindrar förvirring när du installerar DSC-resurser (Desired State Configuration).

En modulinstallation misslyckas och kan inte importeras om den inte har en .psm1, .psd1eller .dll med samma namn i mappen. Använd parametern Force för att installera modulen.

Om en befintlig moduls version matchar det namn som anges av parametern Name och parametern MinimumVersion eller RequiredVersion inte används, fortsätter Install-Module tyst men installerar inte modulen.

Om en befintlig moduls version är större än värdet för parametern MinimumVersion eller lika med värdet för parametern RequiredVersion fortsätter Install-Module tyst men installerar inte modulen.

Om den befintliga modulen inte matchar de värden som anges av parametrarna MinimumVersion eller RequiredVersion uppstår ett fel i kommandot Install-Module. Om till exempel versionen av den befintliga installerade modulen är lägre än värdet MinimumVersion eller inte är lika med värdet RequiredVersion.

Install-Module installerar även beroende moduler som anges av modulutgivaren. Utgivaren visar de moduler som krävs och deras versioner i modulmanifestet.