Install-Module
Pobiera co najmniej jeden moduł z repozytorium i instaluje je na komputerze lokalnym.
Składnia
NameParameterSet (domyślnie)
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.
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.
Te przykłady używają galerii 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
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
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ązkowe: | 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 .
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ązkowe: | 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.
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ązkowe: | 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ązkowe: | 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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | 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, force umożliwia zainstalowanie wielu wersji. Jeśli istnieje istniejący moduł o tej samej nazwie i wersji, wymuś zastąpienie tej wersji.
Polecenia Force i AllowClobber można używać razem Install-Module .
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ązkowe: | 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ązkowe: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-MaximumVersion
Określa maksymalną wersję pojedynczego modułu do zainstalowania. Zainstalowana wersja musi być mniejsza lub równa maxVersion. Jeśli chcesz zainstalować wiele modułów, nie możesz użyć MaximumVersion.
MaximumVersion i RequiredVersion nie mogą być używane w tym samym Install-Module poleceniu.
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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | 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, nowsza wersja zostanie zainstalowana. Jeśli chcesz zainstalować wiele modułów, nie możesz użyć MinimumVersion.
Wartości MinimumVersion i RequiredVersion nie mogą być używane w tym samym Install-Module poleceniu.
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ązkowe: | 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ązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-PassThru
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.
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.
Te przykłady używają galerii 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.
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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Proxy
Określa serwer proxy dla żądania, zamiast łączyć się bezpośrednio z zasobem internetowym.
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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do korzystania z serwera proxy określonego przez parametr proxy .
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ązkowe: | 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ć, które repozytorium jest używane do pobierania i instalowania modułu. 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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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ć RequiredVersion.
RequiredVersion nie może być używany w tym samym Install-Module poleceniu co MinimumVersion lub MaximumVersion.
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ązkowe: | 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, która jest dostępna dla wszystkich użytkowników komputera:
$env:ProgramFiles\PowerShell\Modules
CurrentUser instaluje moduły w lokalizacji, która jest dostępna 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 programie PowerShellGet w wersji 2.0.0 lub nowszej wartość domyślna to CurrentUser, która nie wymaga podniesienia uprawnień do instalacji.
- W wersjach PowerShellGet 1.x wartość domyślna to AllUsers, która wymaga podniesienia uprawnień do instalacji.
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ązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SkipPublisherCheck
Umożliwia zainstalowanie nowszej wersji modułu, który już istnieje na komputerze. Na przykład, gdy istniejący moduł jest podpisany cyfrowo przez zaufanego wydawcę, ale nowa wersja nie jest podpisana cyfrowo przez zaufanego wydawcę.
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ązkowe: | 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 jest 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ązkowe: | 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
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ć 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 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 w folderze nie ma .psm1pliku , .psd1lub .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, 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, 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 , wystąpi błąd w Install-Module poleceniu. 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 .
Instalacja modułu spowoduje również zainstalowanie wszystkich modułów zależnych określonych jako wymagane przez wydawcę modułu. Wydawca określi wymagane moduły i ich wersje w manifeście modułu.