Install-Module

Stáhne jeden nebo více modulů z úložiště a nainstaluje je do místního počítače.

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

Rutina Install-Module získá jeden nebo více modulů, které splňují zadaná kritéria, z online úložiště. Rutina ověří, že výsledky hledání jsou platnými moduly, a zkopíruje složky modulů do umístění instalace. Nainstalované moduly se po instalaci neimportují automaticky. Nainstalovaný modul můžete filtrovat na základě minimální, maximální a přesné verze zadaných modulů.

Toto je rutina proxy pro rutinu Get-InstalledPSResource v Microsoft.PowerShell.PSResourceGet. Další informace najdete v tématu Install-PSResource.

Příklady

Příklad 1: Vyhledání a instalace modulu

Tento příklad najde modul v úložišti a nainstaluje ho.

Find-Module -Name PowerShellGet | Install-Module

Parametr Find-ModuleName použije k zadání modulu PowerShellGet parametr. Ve výchozím nastavení se nejnovější verze modulu stáhne z úložiště. Objekt se odešle do kanálu do rutiny Install-Module . Install-Module nainstaluje modul pro všechny uživatele v nástroji $env:ProgramFiles\PowerShell\Modules.

Příklad 2: Instalace modulu podle názvu

V tomto příkladu je nainstalovaná nejnovější verze modulu PowerShellGet .

Install-Module -Name PowerShellGet

Parametr Install-ModuleName použije k zadání modulu PowerShellGet parametr. Ve výchozím nastavení se nejnovější verze modulu stáhne z úložiště a nainstaluje.

Příklad 3: Instalace modulu s použitím minimální verze

V tomto příkladu je nainstalovaná minimální verze modulu PowerShellGet . Parametr MinimumVersion určuje nejnižší verzi modulu, která se má nainstalovat. Pokud je k dispozici novější verze modulu, stáhne se a nainstaluje pro všechny uživatele.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Parametr Install-ModuleName použije k zadání modulu PowerShellGet parametr. Parametr MinimumVersion určuje, že verze 2.0.1 se stáhne z úložiště a nainstaluje. Vzhledem k tomu, že je k dispozici verze 2.0.4 , je tato verze stažena a nainstalována pro všechny uživatele.

Příklad 4: Instalace konkrétní verze modulu

V tomto příkladu je nainstalovaná konkrétní verze modulu PowerShellGet .

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Parametr Install-ModuleName použije k zadání modulu PowerShellGet parametr. Parametr RequiredVersion určuje, že verze 2.0.0 se stáhne a nainstaluje pro všechny uživatele.

Příklad 5: Instalace modulu pouze pro aktuálního uživatele

Tento příklad stáhne a nainstaluje nejnovější verzi modulu jenom pro aktuálního uživatele.

Install-Module -Name PowerShellGet -Scope CurrentUser

Parametr Install-ModuleName použije k zadání modulu PowerShellGet parametr. Install-Module stáhne a nainstaluje nejnovější verzi PowerShellGetu do adresáře $HOME\Documents\PowerShell\Modulesaktuálního uživatele.

Příklad 6: Instalace nejnovější předběžné verze modulu

Tento příklad ukazuje, jak nainstalovat nejnovější verzi modulu, pokud je tato verze předběžnou verzí. Instalace předběžné verze vyžaduje parametr AllowPrerelease .

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

Pomocí této metody získáte nejnovější dostupnou verzi. Pokud nejnovější verze není předběžná verze, získáte nejnovější stabilní verzi modulu.

Příklad 7: Instalace konkrétní předběžné verze modulu

Tento příklad ukazuje, jak nainstalovat konkrétní předběžnou verzi modulu. Rutinu Find-Module můžete použít k vyhledání předběžných verzí modulů v Galerie prostředí PowerShell.

Předběžné verze mají formát <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

Pro hodnotu parametru RequiredVersion použijte verzi zobrazenou v Galerie prostředí PowerShell.

Parametry

-AcceptLicense

Pro moduly, které vyžadují licenci, acceptLicense automaticky přijme licenční smlouvu během instalace. Další informace najdete v tématu Moduly vyžadující přijetí licence.

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

-AllowClobber

Přepíše varovné zprávy o konfliktech instalace existujících příkazů v počítači. Přepíše existující příkazy, které mají stejný název jako příkazy instalované modulem. Funkce AllowClobber a Force se dají v příkazu použít společně Install-Module .

Rutina proxy transformuje hodnotu tohoto parametru na parametr NoClobber rutiny Install-PSResource .

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

-AllowPrerelease

Umožňuje nainstalovat modul označený jako předběžná verze.

Rutina proxy serveru mapuje tento parametr na parametr Prerelease parametru .Install-PSResource

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

-Confirm

Před spuštěním Install-Module rutiny vás vyzve k potvrzení.

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

-Credential

Určuje uživatelský účet, který má práva k instalaci modulu pro zadaného poskytovatele balíčků nebo zdroj.

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

-Force

Rutina proxy serveru tento parametr ignoruje, protože ho nepodporuje Install-PSResource.

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

-InputObject

Používá se pro vstup kanálu. Pokud je hodnota zadaná přímo do objektu InputObject, vyvolá se chyba. Pomocí kanálu předejte objekty s parametrem InputObject .

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

-MaximumVersion

Rutina proxy používá hodnotu tohoto parametru k vytvoření vyhledávacího řetězce verze NuGet pro použití s parametrem Version parametru .Install-PSResource

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

-MinimumVersion

Rutina proxy používá hodnotu tohoto parametru k vytvoření vyhledávacího řetězce verze NuGet pro použití s parametrem Version parametru .Install-PSResource

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

-Name

Určuje přesné názvy modulů, které se mají nainstalovat z online galerie. Přijímá se seznam názvů modulů oddělených čárkami. Název modulu se musí shodovat s názvem modulu v úložišti. Slouží Find-Module k získání seznamu názvů modulů.

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

-PassThru

Při použití passThru parametru výstup Install-ModulePSRepositoryItemInfo objekt pro modul. Jedná se o stejné informace, které získáte z rutiny Find-Module .

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

-Proxy

Rutina proxy serveru tento parametr ignoruje, protože ho nepodporuje Install-PSResource.

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

-ProxyCredential

Rutina proxy serveru tento parametr ignoruje, protože ho nepodporuje Install-PSResource.

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

-Repository

Pomocí parametru Repository zadejte název úložiště, ze kterého chcete stáhnout a nainstalovat modul. Používá se při registraci více úložišť. Určuje název registrovaného úložiště v Install-Module příkazu . K registraci úložiště použijte Register-PSRepository. Pokud chcete zobrazit registrovaná úložiště, použijte Get-PSRepository.

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

-RequiredVersion

Rutina proxy používá hodnotu tohoto parametru k vytvoření vyhledávacího řetězce verze NuGet pro použití s parametrem Version pro Install-PSResource.

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

-Scope

Určuje rozsah instalace modulu. Přijatelné hodnoty pro tento parametr jsou AllUsers a CurrentUser.

Obor AllUsers nainstaluje moduly do umístění, které je přístupné všem uživatelům počítače:

$env:ProgramFiles\PowerShell\Modules

CurrentUser nainstaluje moduly do umístění, které je přístupné pouze aktuálnímu uživateli počítače. Příklad:

$HOME\Documents\PowerShell\Modules

Pokud není definovaný žádný obor , výchozí hodnota se nastaví na základě verze Modulu PowerShellGet.

  • Ve verzích PowerShellGet 1.x je výchozí hodnota AllUsers, která vyžaduje zvýšení oprávnění pro instalaci.
  • Pro PowerShellGet verze 2.0.0 a novější v PowerShellu 6 nebo novějším:
    • Výchozí hodnota je CurrentUser, která pro instalaci nevyžaduje zvýšení oprávnění.
    • Pokud používáte relaci se zvýšenými oprávněními, výchozí hodnota je AllUsers.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipPublisherCheck

Rutina proxy před voláním Install-PSResourcetransformuje tento parametr na AthenticodeCheck.

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

-WhatIf

Ukazuje, co by se stalo, kdyby byl Install-Module příkaz spuštěn. Rutina se nespustí.

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

Vstupy

PSRepositoryItemInfo

Find-Module vytvoří objekty PSRepositoryItemInfo , které lze odeslat do kanálu Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Výstupy

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Při použití parametru PassThru výstup Install-ModulePSRepositoryItemInfo objekt pro modul. Jedná se o stejné informace, které získáte z rutiny Find-Module .

Poznámky

PowerShell obsahuje následující aliasy pro Install-Module:

  • Všechny platformy:
    • inmo

Install-Module běží v PowerShellu 5.0 nebo novějších verzích, ve Windows 7 nebo Windows 2008 R2 a novějších verzích Windows.

Důležité

Od dubna 2020 už Galerie prostředí PowerShell nepodporuje protokol TLS (Transport Layer Security) verze 1.0 a 1.1. Pokud nepoužíváte protokol TLS 1.2 nebo vyšší, při pokusu o přístup k Galerie prostředí PowerShell se zobrazí chyba. Pomocí následujícího příkazu se ujistěte, že používáte protokol TLS 1.2:

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

Další informace najdete v oznámení na blogu o PowerShellu.

Osvědčeným postupem zabezpečení je vyhodnotit kód modulu před prvním spuštěním rutin nebo funkcí. Aby se zabránilo spuštění modulů, které obsahují škodlivý kód, nejsou nainstalované moduly po instalaci automaticky importovány.

Pokud název modulu zadaný parametrem Name v úložišti neexistuje, Install-Module vrátí chybu.

Pokud chcete nainstalovat více modulů, použijte parametr Name a zadejte pole názvů modulů oddělené čárkami. Pokud zadáte více názvů modulů, nemůžete použít MinimumVersion, MaximumVersion ani RequiredVersion. Find-Module vytvoří objekty PSRepositoryItemInfo , které lze odeslat do kanálu Install-Module. Kanál je dalším způsobem, jak zadat více modulů, které se mají nainstalovat v jednom příkazu.

Ve výchozím nastavení se moduly pro obor AllUsers instalují do $env:ProgramFiles\PowerShell\Modules. Výchozí nastavení zabraňuje nejasnostem při instalaci prostředků powershellového Desired State Configuration (DSC).

Instalace modulu selže a není možné ho importovat, pokud ve složce nemá .psm1.psd1, nebo .dll se stejným názvem. K instalaci modulu použijte parametr Force .

Pokud verze existujícího modulu odpovídá názvu zadanému parametrem Name a nepoužívá se parametr MinimumVersion nebo RequiredVersion , bezobslužně pokračuje, Install-Module ale modul se neinstaluje.

Pokud je verze existujícího modulu větší než hodnota parametru MinimumVersion nebo se rovná hodnotě parametru RequiredVersion , bezobslužně pokračuje, Install-Module ale nenainstaluje modul.

Pokud stávající modul neodpovídá hodnotám zadaným parametry MinimumVersion nebo RequiredVersion , v příkazu dojde k Install-Module chybě. Pokud je například verze existujícího nainstalovaného modulu nižší než hodnota MinimumVersion nebo se nerovná hodnotě RequiredVersion .

Install-Module také nainstaluje všechny závislé moduly zadané podle požadavků vydavatele modulu. V manifestu modulu se zobrazí seznam požadovaných modulů a jejich verzí.