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[]
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
, .psd1
nebo .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.