Condividi tramite


Install-Script

Installa uno script.

Sintassi

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

Descrizione

Il Install-Script cmdlet acquisisce un payload di script da un repository, verifica che il payload sia uno script di PowerShell valido e copia il file di script in un percorso di installazione specificato.

Questo è un cmdlet proxy per il Install-PSResource cmdlet in Microsoft.PowerShell.PSResourceGet. Per altre informazioni, vedere Install-PSResource.

Esempio

Esempio 1: Trovare uno script e installarlo

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

Il primo comando trova lo script denominato Required-Script2 dal repository Local1 e visualizza i risultati.

Il secondo comando trova lo script e quindi usa l'operatore Required-Script2 della pipeline per passarlo al Install-Script cmdlet per installarlo.

Il terzo comando usa il Get-Command cmdlet per ottenere Required-Script2e quindi visualizza i risultati.

Il quarto comando usa il Get-InstalledScript cmdlet per ottenere Required-Script2 e visualizzare i risultati.

Il quinto comando ottiene Required-Script2 e usa l'operatore della pipeline per passarlo al Format-List cmdlet per formattare l'output.

Esempio 2: Installare uno script con l'ambito 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

Il primo comando installa lo script denominato Required-Script3 e assegna l'ambito AllUsers.

Il secondo comando ottiene lo script Required-Script3 installato e visualizza informazioni su di esso.

Il terzo comando ottiene Required-Script3 e usa l'operatore della pipeline per passarlo al Format-List cmdlet per formattare l'output.

Esempio 3: Installare uno script e le relative dipendenze

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

Il primo comando trova lo script denominato Script-WithDependencies2 e le relative dipendenze nel repository Local1 e visualizza i risultati.

Il secondo comando installa Script-WithDependencies2.

Il terzo comando usa il Get-InstalledScript cmdlet script per ottenere script installati e visualizzare i risultati.

Il quarto comando usa il Get-InstalledModule cmdlet per ottenere moduli installati e visualizzare i risultati.

Il quinto comando usa il Find-Script cmdlet per trovare gli script in Required-Script cui inizia il nome e visualizzare i risultati.

Il sesto comando installa gli script in cui il nome inizia con Required-Script nel repository Local1.

Il comando finale ottiene script installati e visualizza i risultati.

Parametri

-AcceptLicense

Accettare automaticamente il contratto di licenza durante l'installazione se il modulo lo richiede.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowPrerelease

Consente di installare uno script contrassegnato come versione preliminare.

Il cmdlet proxy esegue il mapping di questo parametro al parametro Prerelease di Install-PSResource.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifica un account utente con diritti per installare uno script per un provider di pacchetti o un'origine specificati.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Il cmdlet proxy ignora questo parametro perché non è supportato da Install-PSResource.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Usato per l'input della pipeline. Viene generato un errore se un valore fornito direttamente a InputObject. Usare la pipeline per passare oggetti con il parametro InputObject .

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MaximumVersion

Il cmdlet proxy usa il valore di questo parametro per creare una stringa di ricerca della versione NuGet da usare con il parametro Version di Install-PSResource.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MinimumVersion

Il cmdlet proxy usa il valore di questo parametro per creare una stringa di ricerca della versione NuGet da usare con il parametro Version di Install-PSResource.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifica una matrice di nomi di script da installare.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoPathUpdate

Il cmdlet proxy ignora questo parametro perché non è supportato da Install-PSResource.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Quando si usa il parametro PassThru , Install-Script viene restituito un oggetto PSRepositoryItemInfo per il modulo. Si tratta delle stesse informazioni ottenute dal Find-Script cmdlet.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

Il cmdlet proxy ignora questo parametro perché non è supportato da Install-PSResource.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProxyCredential

Il cmdlet proxy ignora questo parametro perché non è supportato da Install-PSResource.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Repository

Specifica il nome descrittivo di un repository registrato con il Register-PSRepository cmdlet. Il valore predefinito è tutti i repository registrati.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Il cmdlet proxy usa il valore di questo parametro per creare una stringa di ricerca della versione NuGet da usare con il parametro Version di Install-PSResource.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Specifica l'ambito di installazione dello script. I valori validi sono AllUsers e CurrentUser.

L'ambito AllUsers consente l'installazione dei moduli in un percorso accessibile a tutti gli utenti del computer, ovvero $env:ProgramFiles\WindowsPowerShell\Scripts.

L'ambito CurrentUser consente l'installazione dei moduli solo a $HOME\Documents\WindowsPowerShell\Scripts, in modo che il modulo sia disponibile solo per l'utente corrente.

Quando non viene definito alcun ambito , il valore predefinito verrà impostato in base alla sessione corrente:

  • Per una sessione di PowerShell con privilegi elevati, l'ambito viene predefinito in AllUsers;
  • Per le sessioni di PowerShell non elevate nelle versioni di PowerShellGet 2.0.0 e versioni successive, Scope è CurrentUser;
  • Per le sessioni di PowerShell non elevate nelle versioni di PowerShellGet 1.6.7 e versioni precedenti, l'ambito non è definito e Install-Module non riesce.
Type:String
Accepted values:CurrentUser, AllUsers
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String[]

PSObject[]

String

Uri

PSCredential

Output

Object

Note

Importante

A partire da aprile 2020 PowerShell Gallery non supporta più le versioni 1.0 e 1.1 di TLS (Transport Layer Security). Se non si usa TLS 1.2 o versione successiva, si riceverà un errore quando si tenta di accedere a PowerShell Gallery. Per verificare di usare TLS 1.2, eseguire il comando seguente:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Per altre informazioni, vedere l'annuncio corrispondente nel blog di PowerShell.