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 installeras baserat på lägsta, högsta och exakta versioner av angivna moduler.

Det här är en proxy-cmdlet för Get-InstalledPSResource cmdleten 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 Namn för att ange PowerShellGet-modulen. Som standard laddas den senaste versionen av modulen ned från lagringsplatsen. Objektet skickas ned 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 PowerShellGet-modulen .

Install-Module -Name PowerShellGet

Install-Module Använder parametern Namn för att ange PowerShellGet-modulen. 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 PowerShellGet-modulen . 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 Namn för att ange PowerShellGet-modulen. 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 PowerShellGet-modulen .

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-Module Använder parametern Namn för att ange PowerShellGet-modulen. 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 Namn för att ange PowerShellGet-modulen. Install-Module laddar ned och installerar den senaste versionen av PowerShellHämta 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 versionen tillgänglig. 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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 transformerar värdet för den här parametern till parametern NoClobber för cmdleten Install-PSResource .

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

-AllowPrerelease

Gör att du kan installera en modul som är markerad som en förhandsversion.

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

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

-Confirm

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

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

-Credential

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

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

-Force

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

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

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

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

-PassThru

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

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

-Proxy

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

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

-ProxyCredential

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

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

-Repository

Använd parametern Repository (Lagringsplats) 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 Install-Module kommandot . Om du vill registrera en lagringsplats använder du Register-PSRepository. Om du vill visa registrerade lagringsplatser använder du Get-PSRepository.

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

-RequiredVersion

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

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

-Scope

Anger installationsomfånget för modulen. De godkända 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 datoranvändare:

$env:ProgramFiles\PowerShell\Modules

CurrentUser installerar moduler på en plats som endast är tillgänglig för den aktuella användaren av datorn. 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, vilket 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.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Proxy-cmdleten transformerar den här parametern till AthenticodeCheck innan den anropar Install-PSResource.

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

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Install-ModulePassThru matar 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.

Viktigt

Från och med april 2020 stöder PowerShell-galleriet inte längre TLS-versionerna 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 kontrollera att du använder TLS 1.2:

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

Mer information finns i meddelandet 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 Namn inte finns på lagringsplatsen Install-Module returnerar ett fel.

Om du vill installera flera moduler använder du parametern Namn och anger en kommaavgränsad matris med modulnamn. Om du anger flera modulnamn kan du inte använda MinimumVersion, MaximumVersion eller 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 PowerShell Desired State Configuration-resurser (DSC).

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

Om en befintlig moduls version matchar namnet som anges av parametern Namn och parametern MinimumVersion eller RequiredVersion inte används Install-Module , fortsätter 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 , Install-Module fortsätter 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 Install-Module kommandot . Om till exempel versionen av den befintliga installerade modulen är lägre än MinimumVersion-värdet eller inte 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.