Install-Module
Scarica uno o più moduli da un repository e li installa nel computer locale.
Sintassi
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>]
Descrizione
Il Install-Module
cmdlet ottiene uno o più moduli che soddisfano i criteri specificati da un repository online. Il cmdlet verifica che i risultati della ricerca siano moduli validi e copia le cartelle del modulo nel percorso di installazione. I moduli installati non vengono importati automaticamente dopo l'installazione.
È possibile filtrare il modulo installato in base alle versioni minime, massime e esatte dei moduli specificati.
Se il modulo installato ha lo stesso nome o versione o contiene comandi in un modulo esistente, vengono visualizzati messaggi di avviso. Dopo aver confermato che si vuole installare il modulo e eseguire l'override degli avvisi, usare i -Force
parametri e -AllowClobber
. A seconda delle impostazioni del repository, potrebbe essere necessario rispondere a una richiesta di installazione del modulo per continuare.
Questi esempi usano il PowerShell Gallery come solo repository registrato. Get-PSRepository
visualizza i repository registrati. Se sono presenti più repository registrati, usare il parametro per specificare il -Repository
nome del repository.
Esempio
Esempio 1: Trovare e installare un modulo
In questo esempio viene trovato un modulo nel repository e viene installato il modulo.
Find-Module -Name PowerShellGet | Install-Module
Usa Find-Module
il parametro Name per specificare il modulo PowerShellGet . Per impostazione predefinita, la versione più recente del modulo viene scaricata dal repository. L'oggetto viene inviato alla pipeline al Install-Module
cmdlet. Install-Module
installa il modulo per tutti gli utenti in $env:ProgramFiles\PowerShell\Modules
.
Esempio 2: Installare un modulo in base al nome
In questo esempio viene installata la versione più recente del modulo PowerShellGet .
Install-Module -Name PowerShellGet
Usa Install-Module
il parametro Name per specificare il modulo PowerShellGet . Per impostazione predefinita, la versione più recente del modulo viene scaricata dal repository e installata.
Esempio 3: Installare un modulo usando la versione minima
In questo esempio viene installata la versione minima del modulo PowerShellGet . Il parametro MinimumVersion specifica la versione più bassa del modulo che deve essere installata. Se è disponibile una versione più recente del modulo, tale versione viene scaricata e installata per tutti gli utenti.
Install-Module -Name PowerShellGet -MinimumVersion 2.0.1
Usa Install-Module
il parametro Name per specificare il modulo PowerShellGet . Il parametro MinimumVersion specifica che la versione 2.0.1 viene scaricata dal repository e installata. Poiché la versione 2.0.4 è disponibile, tale versione viene scaricata e installata per tutti gli utenti.
Esempio 4: Installare una versione specifica di un modulo
In questo esempio viene installata una versione specifica del modulo PowerShellGet .
Install-Module -Name PowerShellGet -RequiredVersion 2.0.0
Usa Install-Module
il parametro Name per specificare il modulo PowerShellGet . Il parametro RequiredVersion specifica che la versione 2.0.0 viene scaricata e installata per tutti gli utenti.
Esempio 5: Installare un modulo solo per l'utente corrente
In questo esempio viene scaricata e installata la versione più recente di un modulo, solo per l'utente corrente.
Install-Module -Name PowerShellGet -Scope CurrentUser
Usa Install-Module
il parametro Name per specificare il modulo PowerShellGet .
Install-Module
scarica e installa la versione più recente di PowerShellGet nella directory dell'utente corrente, $home\Documents\PowerShell\Modules
.
Parametri
-AcceptLicense
Per i moduli che richiedono una licenza, AcceptLicense accetta automaticamente il contratto di licenza durante l'installazione. Per altre informazioni, vedere Moduli che richiedono l'accettazione delle licenze.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowClobber
Esegue l'override dei messaggi di avviso relativi ai conflitti di installazione relativi ai comandi esistenti in un computer.
Sovrascrive i comandi esistenti con lo stesso nome dei comandi installati da un modulo.
AllowClobber e Force possono essere usati insieme in un Install-Module
comando.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Consente di installare un modulo contrassegnato come versione preliminare.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede la conferma prima di eseguire il Install-Module
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 un modulo 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
Installa un modulo ed esegue l'override dei messaggi di avviso relativi ai conflitti di installazione del modulo. Se nel computer esiste già un modulo con lo stesso nome, Force consente l'installazione di più versioni. Se è presente un modulo esistente con lo stesso nome e la stessa versione, Force sovrascrive tale versione. Forza e AllowClobber possono essere usati insieme in un Install-Module
comando.
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
Specifica la versione massima di un singolo modulo da installare. La versione installata deve essere minore o uguale a MaximumVersion. Se si desidera installare più moduli, non è possibile usare MaximumVersion. MaximumVersion e RequiredVersion non possono essere usati nello stesso Install-Module
comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinimumVersion
Specifica la versione minima di un singolo modulo da installare. La versione installata deve essere maggiore o uguale a MinimumVersion. Se è disponibile una versione più recente del modulo, viene installata la versione più recente. Se si desidera installare più moduli, non è possibile usare MinimumVersion.
MinimumVersion e RequiredVersion non possono essere usati nello stesso Install-Module
comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Specifica i nomi esatti dei moduli da installare dalla raccolta online. Viene accettato un elenco delimitato da virgole dei nomi dei moduli. Il nome del modulo deve corrispondere al nome del modulo nel repository. Usare Find-Module
per ottenere un elenco di nomi di moduli.
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
Specifica un server proxy per la richiesta, anziché connettersi direttamente alla risorsa Internet.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProxyCredential
Specifica un account utente con autorizzazioni per l'uso del server proxy specificato dal parametro Proxy.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Repository
Usare il parametro Repository per specificare il repository usato per scaricare e installare un modulo. Usato quando vengono registrati più repository. Specifica il nome di un repository registrato nel Install-Module
comando . Per registrare un repository, usare Register-PSRepository
.
Per visualizzare i repository registrati, usare Get-PSRepository
.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredVersion
Specifica la versione esatta di un singolo modulo da installare. Se non esiste alcuna corrispondenza nel repository per la versione specificata, viene visualizzato un errore. Se si desidera installare più moduli, non è possibile usare RequiredVersion. RequiredVersion non può essere usato nello stesso Install-Module
comando di MinimumVersion o MaximumVersion.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scope
Specifica l'ambito di installazione del modulo. I valori accettabili per questo parametro sono AllUsers e CurrentUser.
L'ambito AllUsers installa i moduli in un percorso accessibile a tutti gli utenti del computer:
$env:ProgramFiles\PowerShell\Modules
CurrentUser installa i moduli in un percorso accessibile solo all'utente corrente del computer. Ad esempio:
$home\Documents\PowerShell\Modules
Quando non viene definito alcun ambito , il valore predefinito viene impostato in base alla versione di PowerShellGet.
- In PowerShellGet versioni 2.0.0 e successive il valore predefinito è CurrentUser, che non richiede l'elevazione dei privilegi per l'installazione.
- Nelle versioni di PowerShellGet 1.x il valore predefinito è AllUsers, che richiede l'elevazione dei privilegi per l'installazione.
Type: | String |
Accepted values: | CurrentUser, AllUsers |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipPublisherCheck
Consente di installare una versione più recente di un modulo già esistente nel computer. Ad esempio, quando un modulo esistente è firmato digitalmente da un autore attendibile, ma la nuova versione non è firmata digitalmente da un autore attendibile.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra cosa accadrebbe se fosse stato eseguito un Install-Module
comando. 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
PSRepositoryItemInfo
Find-Module
crea oggetti PSRepositoryItemInfo che possono essere inviati alla pipeline a Install-Module
.
String[]
PSObject[]
Output
Microsoft.PowerShell.Commands.PSRepositoryItemInfo
Quando si usa il parametro PassThru , Install-Module
viene restituito un oggetto PSRepositoryItemInfo per il modulo. Si tratta delle stesse informazioni ottenute dal Find-Module
cmdlet.
Note
Install-Module
viene eseguito nelle versioni di PowerShell 5.0 o versioni successive, in Windows 7 o Windows 2008 R2 e versioni successive di Windows.
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.
Come procedura consigliata per la sicurezza, valutare il codice di un modulo prima di eseguire i cmdlet o le funzioni per la prima volta. Per impedire l'esecuzione di moduli contenenti codice dannoso, i moduli installati non vengono importati automaticamente dopo l'installazione.
Se il nome del modulo specificato dal parametro Name non esiste nel repository, Install-Module
restituisce un errore.
Per installare più moduli, usare il parametro Name e specificare una matrice delimitata da virgole dei nomi dei moduli. Se si specificano più nomi di modulo, non è possibile usare MinimumVersion, MaximumVersion o RequiredVersion. Find-Module
crea oggetti PSRepositoryItemInfo che possono essere inviati alla pipeline a Install-Module
. La pipeline è un altro modo per specificare più moduli da installare in un singolo comando.
Per impostazione predefinita, i moduli per l'ambito di AllUser vengono installati in $env:ProgramFiles\PowerShell\Modules
. Il valore predefinito impedisce confusione quando si installano le risorse di PowerShell Desired State Configuration (DSC).
Un'installazione del modulo ha esito negativo e non può essere importata se non dispone di un .psm1
oggetto , .psd1
o .dll
dello stesso nome all'interno della cartella. Usare il parametro Force per installare il modulo.
Se la versione di un modulo esistente corrisponde al nome specificato dal parametro Name e il parametro MinimumVersion o RequiredVersion non viene usato, continua in modo invisibile all'utente ma Install-Module
non installa il modulo.
Se la versione di un modulo esistente è maggiore del valore del parametro MinimumVersion o uguale al valore del parametro RequiredVersion , continua in modo invisibile all'utente, Install-Module
ma non installa il modulo.
Se il modulo esistente non corrisponde ai valori specificati dai parametri MinimumVersion o RequiredVersion , si verifica un errore nel Install-Module
comando. Ad esempio, se la versione del modulo installato esistente è inferiore al valore MinimumVersion o non è uguale al valore RequiredVersion .
Un'installazione del modulo installerà anche tutti i moduli dipendenti specificati come richiesto dal server di pubblicazione del modulo. Il server di pubblicazione specifica i moduli necessari e le relative versioni nel manifesto del modulo.