Udostępnij za pośrednictwem


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ć, 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, wyświetlane są 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.

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

W tym przykładzie znajduje się 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 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 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óra powinna 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 zainstalowana. Ponieważ wersja 2.0.4 jest dostępna, 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, 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ł. AllowClobber i Force można używać razem w Install-Module poleceniu .

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 lub źródła pakietów.

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. Wymuś i AllowClobber można używać razem w Install-Module poleceniu .

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ć funkcji 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 używania serwera proxy określonego przez parametr serwera 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ć, które repozytorium jest używane do pobierania i instalowania modułu. 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 programie PowerShellGet w wersji 2.0.0 lub nowszej wartość domyślna to CurrentUser, która nie wymaga podniesienia uprawnień do instalacji.
  • W wersjach programu PowerShellGet 1.x wartość domyślna to AllUsers, która wymaga podniesienia uprawnień do instalacji.
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 zostało uruchomione.

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 Install-Module.

String[]

PSObject[]

String

PSCredential

Uri

Dane wyjściowe

Microsoft.PowerShell.Commands.PSRepositoryItemInfo

W przypadku korzystania z parametru Install-ModulePassThru zwraca obiekt PSRepositoryItemInfo dla modułu. To są 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 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 dowolnych 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 lub RequiredVersion. Find-Module Tworzy obiekty PSRepositoryItemInfo , które można wysłać w dół potoku do 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 pomyłek podczas instalowania zasobów programu PowerShell Desired State Configuration (DSC).

Instalacja modułu kończy się niepowodzeniem i nie można go zaimportować, jeśli nie ma .psm1elementu , .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, Install-Module dyskretnie kontynuuje, 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 , 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 .

Instalacja modułu spowoduje również zainstalowanie wszystkich modułów zależnych określonych zgodnie z wymaganiami wydawcy modułu. Wydawca określi wymagane moduły i ich wersje w manifeście modułu.