Udostępnij za pomocą


Install-Module

Pobiera co najmniej jeden moduł z repozytorium i instaluje je na komputerze lokalnym.

Składnia

NameParameterSet (Domyślna)

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>]

InputObject

Install-Module
    [-InputObject] <PSObject[]>
    [-Credential <PSCredential>]
    [-Scope <String>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-AllowClobber]
    [-SkipPublisherCheck]
    [-Force]
    [-AcceptLicense]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Opis

Polecenie Install-Module cmdlet pobiera co najmniej jeden moduł spełniający określone kryteria z repozytorium online. Polecenie cmdlet sprawdza, czy wyniki wyszukiwania są prawidłowymi modułami i kopiuje foldery modułów do lokalizacji instalacji. Zainstalowane moduły nie są automatycznie importowane po instalacji. Można filtrować, który moduł jest instalowany na podstawie minimalnych, maksymalnych i dokładnych wersji określonych modułów.

Jest to polecenie cmdlet serwera proxy dla Get-InstalledPSResource polecenia cmdlet w elemecie Microsoft.PowerShell.PSResourceGet. Aby uzyskać więcej informacji, zobacz Install-PSResource.

Przykłady

Przykład 1. Znajdowanie i instalowanie modułu

W tym przykładzie znajduje moduł w repozytorium i instaluje moduł.

Find-Module -Name PowerShellGet | Install-Module

Parametr Find-Module Name używa parametru Name do określenia modułu PowerShellGet . Domyślnie najnowsza wersja modułu jest pobierana z repozytorium. Obiekt jest wysyłany w dół potoku do polecenia cmdlet Install-Module. Install-Module Instaluje moduł dla wszystkich użytkowników w programie $env:ProgramFiles\PowerShell\Modules.

Przykład 2. Instalowanie modułu według nazwy

W tym przykładzie zainstalowano najnowszą wersję modułu PowerShellGet .

Install-Module -Name PowerShellGet

Parametr Install-Module Name używa parametru Name do określenia modułu PowerShellGet . Domyślnie najnowsza wersja modułu jest pobierana z repozytorium i instalowana.

Przykład 3. Instalowanie modułu przy użyciu minimalnej wersji

W tym przykładzie zainstalowano minimalną wersję modułu PowerShellGet . Parametr MinimumVersion określa najniższą wersję modułu, który należy zainstalować. Jeśli jest dostępna nowsza wersja modułu, ta wersja zostanie pobrana i zainstalowana dla wszystkich użytkowników.

Install-Module -Name PowerShellGet -MinimumVersion 2.0.1

Parametr Install-Module Name używa parametru Name do określenia modułu PowerShellGet . Parametr MinimumVersion określa, że wersja 2.0.1 jest pobierana z repozytorium i zainstalowana. Ponieważ jest dostępna wersja 2.0.4 , ta wersja jest pobierana i instalowana dla wszystkich użytkowników.

Przykład 4. Instalowanie określonej wersji modułu

W tym przykładzie jest zainstalowana określona wersja modułu PowerShellGet .

Install-Module -Name PowerShellGet -RequiredVersion 2.0.0

Parametr Install-Module Name używa parametru Name do określenia modułu PowerShellGet . Parametr RequiredVersion określa, że wersja 2.0.0 jest pobierana i instalowana dla wszystkich użytkowników.

Przykład 5. Instalowanie modułu tylko dla bieżącego użytkownika

Ten przykład pobiera i instaluje najnowszą wersję modułu tylko dla bieżącego użytkownika.

Install-Module -Name PowerShellGet -Scope CurrentUser

Parametr Install-Module Name używa parametru Name do określenia modułu PowerShellGet . Install-Modulepobiera i instaluje najnowszą wersję modułu PowerShellGet w katalogu bieżącego użytkownika. $HOME\Documents\PowerShell\Modules

Przykład 6. Instalowanie najnowszej wersji wstępnej modułu

W tym przykładzie pokazano, jak zainstalować najnowszą wersję modułu, gdy ta wersja jest wersją wstępną. Zainstalowanie wersji wstępnej wymaga parametru AllowPrerelease .

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

Korzystając z tej metody, uzyskasz najnowszą dostępną wersję. Jeśli najnowsza wersja nie jest wersją wstępną, uzyskasz najnowszą stabilną wersję modułu.

Przykład 7. Instalowanie określonej wersji wstępnej modułu

W tym przykładzie pokazano, jak zainstalować określoną wersję wstępną modułu. Polecenie Find-Module cmdlet może służyć do znajdowania wersji wstępnych modułów w galerii programu PowerShell.

Wersje wstępne mają format <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

Użyj wersji pokazanej w galerii programu PowerShell dla wartości parametru RequiredVersion .

Parametry

-AcceptLicense

W przypadku modułów, które wymagają licencji, funkcja AcceptLicense automatycznie akceptuje umowę licencyjną podczas instalacji. Aby uzyskać więcej informacji, zobacz Moduły wymagające akceptacji licencji.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-AllowClobber

Zastępuje komunikaty ostrzegawcze dotyczące konfliktów instalacji dotyczących istniejących poleceń na komputerze. Zastępuje istniejące polecenia o tej samej nazwie co polecenia instalowane przez moduł. Parametr AllowClobber i Force można używać razem w poleceniu Install-Module .

Polecenie cmdlet serwera proxy przekształca wartość tego parametru na parametr Install-PSResource polecenia cmdlet.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-AllowPrerelease

Umożliwia zainstalowanie modułu oznaczonego jako wersja wstępna.

Polecenie cmdlet serwera proxy mapuje ten parametr na parametr Wersji wstępnej .Install-PSResource

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Confirm

Prosi o potwierdzenie przed uruchomieniem polecenia cmdlet Install-Module.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:por

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Credential

Określa konto użytkownika, które ma uprawnienia do instalowania modułu dla określonego dostawcy pakietów lub źródła.

Właściwości parametru

Typ:PSCredential
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Force

Polecenie cmdlet serwera proxy ignoruje ten parametr, ponieważ nie jest obsługiwany przez Install-PSResourceprogram .

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-InputObject

Służy do wprowadzania potoku. Błąd jest zgłaszany, jeśli wartość podana bezpośrednio do obiektu InputObject. Użyj potoku, aby przekazać obiekty z parametrem InputObject .

Właściwości parametru

Typ:

PSObject[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

InputObject
Position:0
Obowiązkowy:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-MaximumVersion

Polecenie cmdlet serwera proxy używa wartości tego parametru do utworzenia ciągu wyszukiwania wersji NuGet do użycia z parametrem Version parametru Install-PSResource.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-MinimumVersion

Polecenie cmdlet serwera proxy używa wartości tego parametru do utworzenia ciągu wyszukiwania wersji NuGet do użycia z parametrem Version parametru Install-PSResource.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Name

Określa dokładne nazwy modułów do zainstalowania z galerii online. Akceptowana jest rozdzielona przecinkami lista nazw modułów. Nazwa modułu musi być zgodna z nazwą modułu w repozytorium. Użyj polecenia Find-Module , aby uzyskać listę nazw modułów.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-PassThru

W przypadku korzystania z parametru Install-Module zwraca obiekt PSRepositoryItemInfo dla modułu. Są to te same informacje, które otrzymujesz z Find-Module polecenia cmdlet .

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Proxy

Polecenie cmdlet serwera proxy ignoruje ten parametr, ponieważ nie jest obsługiwany przez Install-PSResourceprogram .

Właściwości parametru

Typ:Uri
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-ProxyCredential

Polecenie cmdlet serwera proxy ignoruje ten parametr, ponieważ nie jest obsługiwany przez Install-PSResourceprogram .

Właściwości parametru

Typ:PSCredential
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Repository

Użyj parametru Repository , aby określić nazwę repozytorium, z którego ma zostać pobrany i zainstalowany moduł. Używane w przypadku zarejestrowania wielu repozytoriów. Określa nazwę zarejestrowanego repozytorium w poleceniu Install-Module . Aby zarejestrować repozytorium, użyj polecenia Register-PSRepository. Aby wyświetlić zarejestrowane repozytoria, użyj polecenia Get-PSRepository.

Właściwości parametru

Typ:

String[]

Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-RequiredVersion

Polecenie cmdlet serwera proxy używa wartości tego parametru do utworzenia ciągu wyszukiwania wersji NuGet do użycia z parametrem Version parametru Install-PSResource.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

NameParameterSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-Scope

Określa zakres instalacji modułu. Dopuszczalne wartości tego parametru to AllUsers i CurrentUser.

Zakres AllUsers instaluje moduły w lokalizacji dostępnej dla wszystkich użytkowników komputera:

$env:ProgramFiles\PowerShell\Modules

Bieżący użytkownik instaluje moduły w lokalizacji dostępnej tylko dla bieżącego użytkownika komputera. Przykład:

$HOME\Documents\PowerShell\Modules

Jeśli zakres nie jest zdefiniowany, wartość domyślna jest ustawiana na podstawie wersji modułu PowerShellGet.

  • W wersjach PowerShellGet 1.x wartość domyślna to AllUsers, która wymaga podniesienia uprawnień do instalacji.
  • W przypadku modułu PowerShellGet w wersji 2.0.0 lub nowszej w programie PowerShell 6 lub nowszym:
    • Wartość domyślna to CurrentUser, który nie wymaga podniesienia uprawnień do instalacji.
    • Jeśli korzystasz z sesji z podwyższonym poziomem uprawnień, wartość domyślna to AllUsers.

Właściwości parametru

Typ:String
Domyślna wartość:None
Dopuszczalne wartości:CurrentUser, AllUsers
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-SkipPublisherCheck

Polecenie cmdlet serwera proxy przekształca ten parametr na AuthenticodeCheck przed wywołaniem metody Install-PSResource.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-WhatIf

Pokazuje, co się stanie, jeśli Install-Module polecenie zostało uruchomione. Cmdlet nie został uruchomiony.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:False
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:Wi

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

PSRepositoryItemInfo

Find-Module Tworzy obiekty PSRepositoryItemInfo , które można wysłać w dół potoku do elementu Install-Module.

String

PSObject

String

PSCredential

Uri

Dane wyjściowe

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

W przypadku korzystania z parametru Install-Module zwraca obiekt PSRepositoryItemInfo dla modułu. Są to te same informacje, które otrzymujesz z Find-Module polecenia cmdlet .

Uwagi

Program PowerShell zawiera następujące aliasy dla Install-Module:

  • Wszystkie platformy:
    • inmo

Install-Module działa w wersjach programu PowerShell 5.0 lub nowszych w systemach Windows 7 lub Windows 2008 R2 i nowszych wersjach systemu Windows.

Ważne

Od kwietnia 2020 r. galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do galerii programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:

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

Aby uzyskać więcej informacji, zobacz anons w blogu programu PowerShell.

Najlepszym rozwiązaniem w zakresie zabezpieczeń jest ocena kodu modułu przed pierwszym uruchomieniem jakichkolwiek poleceń cmdlet lub funkcji. Aby zapobiec uruchamianiu modułów zawierających złośliwy kod, zainstalowane moduły nie są automatycznie importowane po instalacji.

Jeśli nazwa modułu określona przez parametr Name nie istnieje w repozytorium, Install-Module zwraca błąd.

Aby zainstalować wiele modułów, użyj parametru Name i określ rozdzielaną przecinkami tablicę nazw modułów. Jeśli określisz wiele nazw modułów, nie możesz użyć parametru MinimumVersion, MaximumVersion lub RequiredVersion. Find-Module Tworzy obiekty PSRepositoryItemInfo , które można wysłać w dół potoku do elementu Install-Module. Potok to inny sposób określania wielu modułów do zainstalowania w jednym poleceniu.

Domyślnie moduły dla zakresu WszystkichUżytkowników są instalowane w programie $env:ProgramFiles\PowerShell\Modules. Ustawienie domyślne zapobiega nieporozumieniu podczas instalowania zasobów konfiguracji żądanego stanu programu PowerShell (DSC).

Instalacja modułu kończy się niepowodzeniem i nie można go zaimportować, jeśli nie ma .psm1nazwy , .psd1lub .dll tej samej nazwy w folderze. Użyj parametru Force , aby zainstalować moduł.

Jeśli wersja istniejącego modułu jest zgodna z nazwą określoną przez parametr Name , a parametr MinimumVersion lub RequiredVersion nie jest używany, dyskretnie kontynuuje działanie, Install-Module ale nie instaluje modułu.

Jeśli wersja istniejącego modułu jest większa niż wartość parametru MinimumVersion lub równa wartości parametru RequiredVersion , dyskretnie kontynuuje działanie, Install-Module ale nie instaluje modułu.

Jeśli istniejący moduł nie jest zgodny z wartościami określonymi przez parametry MinimumVersion lub RequiredVersion , w poleceniu Install-Module wystąpi błąd. Jeśli na przykład wersja istniejącego zainstalowanego modułu jest niższa niż wartość MinimumVersion lub nie jest równa wartości RequiredVersion .

Install-Module Instaluje również wszystkie moduły zależne określone zgodnie z wymaganiami wydawcy modułu. Wydawca wyświetla listę wymaganych modułów i ich wersji w manifeście modułu.