Udostępnij za pośrednictwem


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

String

Uri

PSCredential

Dane wyjściowe

Object

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.