Sdílet prostřednictvím


Install-Module

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

Syntaxe

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é moduly, a zkopíruje složky modulů do umístění instalace. Nainstalované moduly se po instalaci neimportují automaticky. Můžete filtrovat, který modul se instaluje, 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 naleznete v tématu Install-PSResource.

Příklady

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

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

Find-Module -Name PowerShellGet | Install-Module

Find-Module pomocí parametru Name určuje modul PowerShellGet. 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 $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

Install-Module pomocí parametru Name určuje modul PowerShellGet. Ve výchozím nastavení se nejnovější verze modulu stáhne z úložiště a nainstaluje se.

Příklad 3: Instalace modulu pomocí minimální verze

V tomto příkladu se nainstaluje 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

Install-Module pomocí parametru Name určuje modul PowerShellGet. Parametr MinimumVersion určuje, že verze 2.0.1 se stáhne z úložiště a nainstaluje se. Vzhledem k tomu, že je dostupná verze 2.0.4, stáhne se a nainstaluje pro všechny uživatele.

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

V tomto příkladu se nainstaluje konkrétní verze modulu PowerShellGet.

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Install-Module pomocí parametru Name určuje modul PowerShellGet. 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, pouze pro aktuálního uživatele.

Install-Module -Name PowerShellGet -Scope CurrentUser

Install-Module pomocí parametru Name určuje modul PowerShellGet. Install-Module stáhne a nainstaluje nejnovější verzi PowerShellGet do adresáře aktuálního uživatele $HOME\Documents\PowerShell\Modules.

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ředem připravených verzí modulů v galerii 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 galerii Prostředí PowerShell.

Parametry

-AcceptLicense

U modulů, 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.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AllowClobber

Přepíše zprávy upozornění týkající se konfliktů 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 nainstalované modulem. AllowClobber a Force lze použít společně v příkazu Install-Module.

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

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AllowPrerelease

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

Rutina proxy mapuje tento parametr na parametr předběžné verzeInstall-PSResource.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

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

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

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

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Force

Rutina proxy ignoruje tento parametr, protože není podporována Install-PSResource.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

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

Typ:PSObject[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-MaximumVersion

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

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-MinimumVersion

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

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje přesné názvy modulů, které se mají nainstalovat z online galerie. Je přijat čárkami oddělený seznam názvů modulů. Název modulu se musí shodovat s názvem modulu v úložišti. Seznam názvů modulů získáte pomocí Find-Module.

Typ:String[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-PassThru

Při použití parametru PassThruInstall-Module výstupem modulu PSRepositoryItemInfo objektu. Jedná se o stejné informace, které získáte z rutiny Find-Module.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Proxy

Rutina proxy ignoruje tento parametr, protože není podporována Install-PSResource.

Typ:Uri
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-ProxyCredential

Rutina proxy ignoruje tento parametr, protože není podporována Install-PSResource.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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 příkazu Install-Module. K registraci úložiště použijte Register-PSRepository. K zobrazení registrovaných úložišť použijte Get-PSRepository.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-RequiredVersion

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

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky: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. Například:

$HOME\Documents\PowerShell\Modules

Pokud není definován žádný obor, nastaví se výchozí nastavení na základě verze PowerShellGet.

  • Ve verzích PowerShellGet 1.x je výchozí AllUsers, což vyžaduje zvýšení oprávnění pro instalaci.
  • Pro PowerShellGet verze 2.0.0 a vyšší v PowerShellu 6 nebo vyšší:
    • Výchozí hodnota je CurrentUser, což nevyžaduje zvýšení oprávnění pro instalaci.
    • Pokud používáte relaci se zvýšenými oprávněními, výchozí hodnota je AllUsers.
Typ:String
Přípustné hodnoty:CurrentUser, AllUsers
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SkipPublisherCheck

Rutina proxy transformuje tento parametr na AuthenticodeCheck před voláním Install-PSResource.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Ukazuje, co by se stalo, když se spustil příkaz Install-Module. Rutina se nespustí.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

PSRepositoryItemInfo

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

String[]

PSObject[]

String

PSCredential

Uri

Výstupy

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

Při použití parametru PassThruInstall-Module výstupem modulu PSRepositoryItemInfo objektu. 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 galerie Prostředí PowerShell už 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 galerii 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í v blogu PowerShellu.

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

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 Název a zadejte pole názvů modulů oddělených čárkami. Pokud zadáte více názvů modulů, nemůžete použít MinimumVersion, MaximumVersionnebo RequiredVersion. Find-Module vytvoří PSRepositoryItemInfo objekty, 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í jsou moduly pro rozsah AllUsers nainstalovány v $env:ProgramFiles\PowerShell\Modules. Výchozí nastavení zabraňuje nejasnostem při instalaci prostředků DSC (PowerShell Desired State Configuration).

Instalace modulu selže a nedá se importovat, pokud nemá .psm1, .psd1nebo .dll stejného názvu ve složce. K instalaci modulu použijte parametr Force.

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

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

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

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