Install-Script
Instaluje skrypt.
Składnia
Install-Script
[-Name] <String[]>
[-MinimumVersion <String>]
[-MaximumVersion <String>]
[-RequiredVersion <String>]
[-Repository <String[]>]
[-Scope <String>]
[-NoPathUpdate]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Credential <PSCredential>]
[-Force]
[-AllowPrerelease]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Install-Script
[-InputObject] <PSObject[]>
[-Scope <String>]
[-NoPathUpdate]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Credential <PSCredential>]
[-Force]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie cmdlet Install-Script
uzyskuje ładunek skryptu z repozytorium, sprawdza, czy ładunek jest prawidłowym skryptem programu PowerShell i kopiuje plik skryptu do określonej lokalizacji instalacji.
Domyślne repozytoria Install-Script
są konfigurowalne za pomocą poleceń cmdlet Register-PSRepository
, Set-PSRepository
, Unregister-PSRepository
i Get-PSRepository
. W przypadku obsługi wielu repozytoriów Install-Script
instaluje pierwszy skrypt zgodny z określonymi kryteriami wyszukiwania (Nazwa, MinimumVersionlub MaximumVersion) z pierwszego repozytorium bez żadnego błędu.
Przykłady
Przykład 1. Znajdowanie skryptu i instalowanie go
PS C:\> Find-Script -Repository "Local1" -Name "Required-Script2"
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
PS C:\> Find-Script -Repository "Local1" -Name "Required-Script2" | Install-Script
PS C:\> Get-Command -Name "Required-Script2"
CommandType Name Version Source
----------- ---- ------- ------
ExternalScript Required-Script2.ps1 2.0 C:\Users\pattif\Documents\WindowsPowerShell\Scripts\Required-Script2.ps1
PS C:\> Get-InstalledScript -Name "Required-Script2"
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
PS C:\> Get-InstalledScript -Name "Required-Script2" | Format-List *
Name : Required-Script2
Version : 2.5
Type : Script
Description : Description for the Required-Script2 script
Author : pattif
CompanyName :
Copyright : 2015 Microsoft Corporation. All rights reserved.
PublishedDate : 8/15/2015 12:42:39 AM
LicenseUri : http://required-script2.com/license
ProjectUri : http://required-script2.com/
IconUri : http://required-script2.com/icon
Tags : {Tag1, Tag2, Tag-Required-Script2-2.5, PSScript...}
Includes : {Function, DscResource, Cmdlet, Command}
PowerShellGetFormatVersion :
ReleaseNotes : Required-Script2 release notes
Dependencies : {}
RepositorySourceLocation : http://pattif-dev:8765/api/v2/
Repository : local1
PackageManagementProvider : NuGet
InstalledLocation : C:\Users\pattif\Documents\WindowsPowerShell\Scripts
Pierwsze polecenie znajduje skrypt o nazwie Required-Script2
z repozytorium Local1 i wyświetla wyniki.
Drugie polecenie znajduje skrypt Required-Script2
, a następnie używa operatora potoku do przekazania go do polecenia cmdlet Install-Script
, aby go zainstalować.
Trzecie polecenie używa polecenia cmdlet Get-Command
, aby uzyskać Required-Script2
, a następnie wyświetla wyniki.
Czwarte polecenie używa polecenia cmdlet Get-InstalledScript
, aby uzyskać Required-Script2
i wyświetlić wyniki.
Piąte polecenie pobiera Required-Script2
i używa operatora potoku do przekazania go do polecenia cmdlet Format-List
w celu sformatowania danych wyjściowych.
Przykład 2. Instalowanie skryptu z zakresem AllUsers
PS C:\> Install-Script -Repository "Local1" -Name "Required-Script3" -Scope "AllUsers"
PS C:\> Get-InstalledScript -Name "Required-Script3"
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script3 Script local1 Description for the Required-Script3 script
PS C:\> Get-InstalledScript -Name "Required-Script3" | Format-List *
Name : Required-Script3
Version : 2.5
Type : Script
Description : Description for the Required-Script3 script
Author : pattif
CompanyName :
Copyright : 2015 Microsoft Corporation. All rights reserved.
PublishedDate : 8/15/2015 12:42:45 AM
LicenseUri : http://required-script3.com/license
ProjectUri : http://required-script3.com/
IconUri : http://required-script3.com/icon
Tags : {Tag1, Tag2, Tag-Required-Script3-2.5, PSScript...}
Includes : {Function, DscResource, Cmdlet, Command}
PowerShellGetFormatVersion :
ReleaseNotes : Required-Script3 release notes
Dependencies : {}
RepositorySourceLocation : http://pattif-dev:8765/api/v2/
Repository : local1
PackageManagementProvider : NuGet
InstalledLocation : C:\Program Files\WindowsPowerShell\Scripts
Pierwsze polecenie instaluje skrypt o nazwie Required-Script3
i przypisuje mu zakres AllUsers.
Drugie polecenie pobiera zainstalowany skrypt Required-Script3
i wyświetla informacje o nim.
Trzecie polecenie pobiera Required-Script3
i używa operatora potoku do przekazania go do polecenia cmdlet Format-List
w celu sformatowania danych wyjściowych.
Przykład 3. Instalowanie skryptu i jego zależności
PS C:\> Find-Script -Repository "Local1" -Name "Script-WithDependencies2" -IncludeDependencies
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.0 Script-WithDependencies2 Script local1 Description for the Script-WithDependencies2 script
2.5 RequiredModule1 Module local1 RequiredModule1 module
2.5 RequiredModule2 Module local1 RequiredModule2 module
2.5 RequiredModule3 Module local1 RequiredModule3 module
2.5 Required-Script1 Script local1 Description for the Required-Script1 script
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
2.5 Required-Script3 Script local1 Description for the Required-Script3 script
PS C:\> Install-Script -Repository "Local1" -Name "Script-WithDependencies2"
PS C:\> Get-InstalledScript
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script1 Script local1 Description for the Required-Script1 script
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
2.5 Required-Script3 Script local1 Description for the Required-Script3 script
2.0 Script-WithDependencies2 Script local1 Description for the Script-WithDependencies2 script
PS C:\> Get-InstalledModule
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 RequiredModule1 Module local1 RequiredModule1 module
2.5 RequiredModule2 Module local1 RequiredModule2 module
2.5 RequiredModule3 Module local1 RequiredModule3 module
PS C:\> Find-Script -Repository "Local1" -Name "Required-Script*"
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script1 Script local1 Description for the Required-Script1 script
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
2.5 Required-Script3 Script local1 Description for the Required-Script3 script
PS C:\> Install-Script -Repository "Local1" -Name "Required-Script*"
PS C:\> Get-InstalledScript
Version Name Type Repository Description
------- ---- ---- ---------- -----------
2.5 Required-Script1 Script local1 Description for the Required-Script1 script
2.5 Required-Script2 Script local1 Description for the Required-Script2 script
2.5 Required-Script3 Script local1 Description for the Required-Script3 script
Pierwsze polecenie znajduje skrypt o nazwie Script-WithDependencies2
i jego zależności w repozytorium Local1 i wyświetla wyniki.
Drugie polecenie instaluje Script-WithDependencies2
.
Trzecie polecenie używa polecenia cmdlet skryptu Get-InstalledScript
, aby pobrać zainstalowane skrypty i wyświetlić wyniki.
Czwarte polecenie używa polecenia cmdlet Get-InstalledModule
, aby pobrać zainstalowane moduły i wyświetlić wyniki.
Piąte polecenie używa polecenia cmdlet Find-Script
do znajdowania skryptów, w których nazwa zaczyna się od Required-Script
i wyświetla wyniki.
Szóste polecenie instaluje skrypty, w których nazwa zaczyna się od Required-Script
w repozytorium Local1.
Ostatnie polecenie pobiera zainstalowane skrypty i wyświetla wyniki.
Parametry
-AcceptLicense
Automatycznie zaakceptuj umowę licencyjną podczas instalacji, jeśli moduł tego wymaga.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AllowPrerelease
Umożliwia zainstalowanie skryptu oznaczonego jako wersję wstępną.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do instalowania skryptu dla określonego dostawcy pakietów lub źródła.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Force
Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Służy do wprowadzania potoku. Błąd jest zgłaszany, jeśli wartość podana bezpośrednio do InputObject. Użyj potoku, aby przekazać obiekty z parametrem InputObject.
Typ: | PSObject[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-MaximumVersion
Określa maksymalną wersję pojedynczego skryptu do zainstalowania. Nie można dodać tego parametru, jeśli próbujesz zainstalować wiele skryptów. Parametry MaximumVersion i RequiredVersion wzajemnie się wykluczają; Nie można użyć obu parametrów w tym samym poleceniu.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-MinimumVersion
Określa minimalną wersję pojedynczego skryptu do zainstalowania. Nie można dodać tego parametru, jeśli próbujesz zainstalować wiele skryptów. Parametry MinimumVersion i RequiredVersion wzajemnie się wykluczają; Nie można użyć obu parametrów w tym samym poleceniu.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa tablicę nazw skryptów do zainstalowania.
Typ: | String[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-NoPathUpdate
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Proxy
Określa serwer proxy dla żądania, zamiast łączyć się bezpośrednio z zasobem internetowym.
Typ: | Uri |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do używania serwera proxy określonego przez parametr Proxy.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Repository
Określa przyjazną nazwę repozytorium zarejestrowanego za pomocą polecenia cmdlet Register-PSRepository
. Wartość domyślna to wszystkie zarejestrowane repozytoria.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RequiredVersion
Określa dokładny numer wersji skryptu do zainstalowania.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Scope
Określa zakres instalacji skryptu. Prawidłowe wartości to: AllUsers i CurrentUser.
Zakres AllUsers umożliwia zainstalowanie modułów w lokalizacji dostępnej dla wszystkich użytkowników komputera, czyli $env:ProgramFiles\WindowsPowerShell\Scripts
.
Zakres CurrentUser umożliwia instalowanie modułów tylko w celu $home\Documents\WindowsPowerShell\Scripts
, dzięki czemu moduł jest dostępny tylko dla bieżącego użytkownika.
Jeśli nie zdefiniowano zakres, wartość domyślna zostanie ustawiona na podstawie bieżącej sesji:
- W przypadku sesji programu PowerShell z podwyższonym poziomem uprawnień zakres wartością domyślną AllUsers;
- W przypadku sesji programu PowerShell z podwyższonym poziomem uprawnień w programie PowerShellGet w wersji 2.0.0 lub nowszej zakres to CurrentUser;
- W przypadku sesji programu PowerShell z podwyższonym poziomem uprawnień w programie PowerShellGet w wersji 1.6.7 lub starszej zakres jest niezdefiniowany i
Install-Module
kończy się niepowodzeniem.
Typ: | String |
Dopuszczalne wartości: | CurrentUser, AllUsers |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
String[]
PSObject[]
Dane wyjściowe
Uwagi
Ważny
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.