Install-Module
Pobiera jeden lub więcej modułów z repozytorium i instaluje je na komputerze lokalnym.
Składnia
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>]
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ć moduł instalowany na podstawie minimalnych, maksymalnych i dokładnych wersji określonych modułów.
Jeśli instalowany moduł ma taką samą nazwę lub wersję lub zawiera polecenia w istniejącym module, zostaną wyświetlone komunikaty ostrzegawcze. Po potwierdzeniu, że chcesz zainstalować moduł i zastąpić ostrzeżenia, użyj -Force
parametrów i -AllowClobber
. W zależności od ustawień repozytorium może być konieczne udzielenie odpowiedzi na monit o kontynuowanie instalacji modułu.
Parametry, które przyjmują numery wersji modułu, oczekują ciągów sformatowanych jako numery wersji.
- Numery wersji standardowych mają format
x.y.z
, w którym x, y i z to liczby - Wersje wstępne mają format
x.y.z-<prerelease_label>
, w<prerelease_label>
którym jest przypisany dowolny ciąg do tej wersji.
W tych przykładach użyto Galeria programu PowerShell jako jedynego zarejestrowanego repozytorium. Get-PSRepository
Wyświetla zarejestrowane repozytoria. Jeśli masz wiele zarejestrowanych repozytoriów, użyj parametru -Repository
, aby określić nazwę repozytorium.
Przykłady
Przykład 1. Znajdowanie i instalowanie modułu
Ten przykład umożliwia znalezienie modułu w repozytorium i zainstalowanie modułu.
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 Install-Module
do polecenia cmdlet. 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 jest zainstalowana najnowsza wersja 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 jego minimalnej wersji
W tym przykładzie jest zainstalowana minimalna wersja modułu PowerShellGet . Parametr MinimumVersion określa najniższą wersję modułu, która ma zostać zainstalowana. 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 instalowana. Ponieważ jest dostępna wersja 2.0.4 , ta wersja jest pobierana i instalowana dla wszystkich użytkowników.
Przykład 4. Instalowanie konkretnej wersji modułu
W tym przykładzie zainstalowano określoną wersję 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-Module
pobiera 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 Galeria 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 Galeria programu PowerShell dla wartości parametru RequiredVersion.
Parametry
-AcceptLicense
W przypadku modułów, które wymagają licencji, opcja AcceptLicense automatycznie akceptuje umowę licencyjną podczas instalacji. Aby uzyskać więcej informacji, zobacz Moduły wymagające akceptacji licencji.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowClobber
Zastępuje komunikaty ostrzegawcze dotyczące konfliktów instalacji dotyczących istniejących poleceń na komputerze.
Zastępuje istniejące polecenia, które mają taką samą nazwę jak polecenia instalowane przez moduł.
Parametr AllowClobber i Force można używać razem w poleceniu Install-Module
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Umożliwia zainstalowanie modułu oznaczonego jako wersja wstępna.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem Install-Module
polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do instalowania modułu dla określonego dostawcy pakietu lub źródła.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Instaluje moduł i zastępuje komunikaty ostrzegawcze dotyczące konfliktów instalacji modułu. Jeśli moduł o tej samej nazwie już istnieje na komputerze, opcja Force umożliwia zainstalowanie wielu wersji. Jeśli istnieje istniejący moduł o tej samej nazwie i wersji, wymuś zastąpienie tej wersji. W poleceniu Install-Module
można używać polecenia Force i AllowClobber.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Służy do wprowadzania potoku. Błąd jest zgłaszany, jeśli wartość dostarczona bezpośrednio do obiektu InputObject. Użyj potoku, aby przekazać obiekty z parametrem InputObject .
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaximumVersion
Określa maksymalną wersję pojedynczego modułu do zainstalowania. Zainstalowana wersja musi być mniejsza lub równa MaximumVersion. Jeśli chcesz zainstalować wiele modułów, nie możesz użyć elementu MaximumVersion. Parametr MaximumVersion i RequiredVersion nie może być używany w tym samym Install-Module
poleceniu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinimumVersion
Określa minimalną wersję pojedynczego modułu do zainstalowania. Zainstalowana wersja musi być większa lub równa MinimumVersion. Jeśli jest dostępna nowsza wersja modułu, zostanie zainstalowana nowsza wersja. Jeśli chcesz zainstalować wiele modułów, nie możesz użyć opcji MinimumVersion.
Parametr MinimumVersion i RequiredVersion nie może być używany w tym samym Install-Module
poleceniu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
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
Określa serwer proxy dla żądania, zamiast łączyć się bezpośrednio z zasobem internetowym.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do korzystania z serwera proxy określonego przez parametr proxy .
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Repository
Użyj parametru Repository , aby określić nazwę repozytorium, z którego ma zostać pobrany i zainstalowany moduł. Używane, gdy zarejestrowano wiele 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
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Określa dokładną wersję pojedynczego modułu do zainstalowania. Jeśli w repozytorium dla określonej wersji nie ma dopasowania, zostanie wyświetlony błąd. Jeśli chcesz zainstalować wiele modułów, nie możesz użyć opcji RequiredVersion. Parametr RequiredVersion nie może być używany w tym samym Install-Module
poleceniu co MinimumVersion lub MaximumVersion.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | 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. Na 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 programu 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.
Type: | String |
Accepted values: | CurrentUser, AllUsers |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipPublisherCheck
Umożliwia zainstalowanie nowszej wersji modułu, który już istnieje na komputerze. Na przykład jeśli istniejący moduł jest podpisany cyfrowo przez zaufanego wydawcę, ale nowa wersja nie jest podpisana cyfrowo przez zaufanego wydawcę.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie, jeśli Install-Module
polecenie zostało uruchomione. Polecenie cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
PSRepositoryItemInfo
Find-Module
Tworzy obiekty PSRepositoryItemInfo , które można wysłać w dół potoku do elementu Install-Module
.
String[]
PSObject[]
Dane wyjściowe
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
W przypadku korzystania z parametru Install-Module
PassThru zwraca obiekt PSRepositoryItemInfo dla modułu. Są to te same informacje, które są uzyskiwane z Find-Module
polecenia cmdlet .
Uwagi
Program PowerShell zawiera następujące aliasy dla Install-Module
programu :
- 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 Galeria 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 ogłoszenie w blogu programu PowerShell.
Najlepszym rozwiązaniem w zakresie zabezpieczeń jest ocena kodu modułu przed uruchomieniem jakichkolwiek poleceń cmdlet lub funkcji po raz pierwszy. 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 ani 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 zakresu wszystkich użytkowników są instalowane w programie $env:ProgramFiles\PowerShell\Modules
. Ustawienie domyślne zapobiega nieporozumieniu podczas instalowania zasobów programu PowerShell Desired State Configuration (DSC).
Instalacja modułu kończy się niepowodzeniem i nie można jej zaimportować, jeśli nie ma .psm1
w folderze wartości , .psd1
lub .dll
o tej samej nazwie. 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 , w trybie dyskretnym 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 zależne moduły określone zgodnie z wymaganiami wydawcy modułu.
Wydawca wyświetla listę wymaganych modułów i ich wersji w manifeście modułu.