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

Om modulen som installeras har samma namn eller version eller innehåller kommandon i en befintlig modul visas varningsmeddelanden. När du har bekräftat att du vill installera modulen och åsidosätta varningarna använder du parametrarna -Force och -AllowClobber . Beroende på dina lagringsplatsinställningar kan du behöva svara på en uppmaning om att modulinstallationen ska fortsätta.

I de här exemplen används PowerShell-galleriet som den enda registrerade lagringsplatsen. Get-PSRepository visar de registrerade lagringsplatserna. Om du har flera registrerade lagringsplatser använder du parametern -Repository för att ange lagringsplatsens namn.

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.

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.

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.

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

Installerar en modul och åsidosätter varningsmeddelanden om modulinstallationskonflikter. Om det redan finns en modul med samma namn på datorn tillåter Force att flera versioner installeras. Om det finns en befintlig modul med samma namn och version skriver Force över den versionen. Force och AllowClobber kan användas tillsammans i ett Install-Module kommando.

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

Anger den maximala versionen av en enskild modul som ska installeras. Den installerade versionen måste vara mindre än eller lika med MaximumVersion. Om du vill installera flera moduler kan du inte använda MaximumVersion. MaximumVersion och RequiredVersion kan inte användas i samma Install-Module kommando.

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

-MinimumVersion

Anger den lägsta versionen av en enskild modul som ska installeras. Den installerade versionen måste vara större än eller lika med MinimumVersion. Om det finns en nyare version av modulen som är tillgänglig installeras den nyare versionen. Om du vill installera flera moduler kan du inte använda MinimumVersion. MinimumVersion och RequiredVersion kan inte användas i samma Install-Module kommando.

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

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

-Proxy

Anger en proxyserver för begäran i stället för att ansluta direkt till Internetresursen.

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

-ProxyCredential

Anger ett användarkonto som har behörighet att använda proxyservern som anges av proxyparametern.

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

-Repository

Använd parametern Lagringsplats för att ange vilken lagringsplats som ska användas för att ladda ned och installera en modul. 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

Anger den exakta versionen av en enskild modul som ska installeras. Om det inte finns någon matchning i lagringsplatsen för den angivna versionen visas ett fel. Om du vill installera flera moduler kan du inte använda RequiredVersion. RequiredVersion kan inte användas i samma Install-Module kommando som MinimumVersion eller MaximumVersion.

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

-Scope

Anger modulens installationsomfång. De acceptabla 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. Exempel:

$home\Documents\PowerShell\Modules

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

  • I PowerShellGet version 2.0.0 och senare är standardinställningen CurrentUser, som inte kräver utökade installationer.
  • I PowerShellGet 1.x-versioner är standardvärdet Allaanvändare, vilket kräver utökade installationer.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Gör att du kan installera en nyare version av en modul som redan finns på datorn. Till exempel när en befintlig modul signeras digitalt av en betrodd utgivare men den nya versionen inte signeras digitalt av en betrodd utgivare.

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

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 .

En modulinstallation installerar även beroende moduler som anges av modulutgivaren. Utgivaren anger de moduler som krävs och deras versioner i modulmanifestet.