Update-Module
Scarica e installa la versione più recente dei moduli specificati da una raccolta online nel computer locale.
Sintassi
Update-Module
[[-Name] <String[]>]
[-RequiredVersion <String>]
[-MaximumVersion <String>]
[-Credential <PSCredential>]
[-Scope <String>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-Force]
[-AllowPrerelease]
[-AcceptLicense]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Update-Module
cmdlet installa la versione più recente di un modulo da una raccolta online. Viene richiesto di confermare l'aggiornamento prima dell'installazione. Aggiornamenti vengono installati solo per i moduli installati nel computer locale con Install-Module
. Update-Module
cerca $env:PSModulePath
i moduli installati.
Update-Module
senza parametri specificati, vengono aggiornati tutti i moduli installati. Per specificare un modulo da aggiornare, usare il parametro Name . È possibile eseguire l'aggiornamento alla versione specifica di un modulo usando il parametro RequiredVersion .
I parametri che accettano numeri di versione del modulo prevedono stringhe formattate come numeri di versione.
- I numeri di versione standard hanno un formato in
x.y.z
cui x, y e z sono numeri - Le versioni non definitive hanno un formato in
x.y.z-<prerelease_label>
cui la<prerelease_label>
stringa è arbitraria assegnata a tale versione.
Se un modulo installato è già la versione più recente, il modulo non viene aggiornato. Se il modulo non viene trovato in $env:PSModulePath
, viene visualizzato un errore.
Per visualizzare i moduli installati, usare Get-InstalledModule
.
Esempio
Esempio 1: Aggiornare tutti i moduli
Questo esempio aggiorna tutti i moduli installati alla versione più recente in una raccolta online.
Update-Module
Esempio 2: Aggiornare un modulo in base al nome
In questo esempio viene aggiornato un modulo specifico alla versione più recente in una raccolta online.
Update-Module -Name SpeculationControl
Update-Module
utilizza il parametro Name per aggiornare un modulo specifico, SpeculationControl.
Esempio 3: Visualizzare le esecuzioni Update-Module di simulazione
Questo esempio esegue uno scenario di simulazione per mostrare cosa accade se Update-Module
viene eseguito. Il comando non viene eseguito.
Update-Module -WhatIf
What if: Performing the operation "Update-Module" on target "Version '2.8.0' of module
'Carbon', updating to version '2.8.1'".
What if: Performing the operation "Update-Module" on target "Version '1.0.10' of module
'SpeculationControl', updating to version '1.0.14'".
Update-Module
usa il parametro WhatIf per visualizzare cosa accadrebbe se Update-Module
fosse stato eseguito.
Esempio 4: Aggiornare un modulo a una versione specificata
In questo esempio un modulo viene aggiornato a una versione specifica. La versione deve esistere nella raccolta online o viene visualizzato un errore.
Update-Module -Name SpeculationControl -RequiredVersion 1.0.14
Update-Module
usa il parametro Name per specificare il modulo , SpeculationControl. Il parametro RequiredVersion specifica la versione 1.0.14.
Esempio 5: Aggiornare un modulo senza conferma
Questo esempio non richiede conferma per aggiornare il modulo alla versione più recente da una raccolta online. Se il modulo è già installato, il parametro Force reinstalla il modulo.
Update-Module -Name SpeculationControl -Force
Update-Module
usa il parametro Name per specificare il modulo , SpeculationControl. Il parametro Force aggiorna il modulo senza richiedere la conferma dell'utente.
Parametri
-AcceptLicense
Accettare automaticamente il contratto di licenza durante l'installazione se il pacchetto lo richiede.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AllowPrerelease
Consente di aggiornare un modulo con il modulo più recente contrassegnato come versione preliminare.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Richiede conferma prima di eseguire Update-Module
.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifica un account utente che dispone dell'autorizzazione per aggiornare un modulo.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Forza un aggiornamento di ogni modulo specificato senza una richiesta di conferma. Se il modulo è già installato, Forza reinstalla il modulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaximumVersion
Specifica la versione massima di un singolo modulo da aggiornare. Non è possibile aggiungere questo parametro se si tenta di aggiornare più moduli. I parametri MaximumVersion e RequiredVersion non possono essere usati nello stesso comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Specifica i nomi di uno o più moduli da aggiornare. Update-Module
cerca $env:PSModulePath
i moduli da aggiornare. Se non vengono trovate $env:PSModulePath
corrispondenze per il nome del modulo specificato, si verifica un errore.
I caratteri jolly vengono accettati nei nomi dei moduli. Se si aggiungono caratteri jolly al nome specificato e non vengono trovate corrispondenze, non viene generato alcun errore.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-PassThru
Restituisce un oggetto che rappresenta l'elemento in uso. Per impostazione predefinita, il cmdlet non genera alcun output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Proxy
Specifica un server proxy per la richiesta, anziché connettersi direttamente a una risorsa Internet.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProxyCredential
Specifica un account utente autorizzato a usare il server proxy specificato dal parametro Proxy .
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RequiredVersion
Specifica la versione esatta in cui verrà aggiornato il modulo installato esistente. La versione specificata da RequiredVersion deve esistere nella raccolta online oppure viene visualizzato un errore. Se più di un modulo viene aggiornato in un singolo comando, non è possibile usare RequiredVersion.
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. Se Scope non è specificato, l'aggiornamento viene installato nell'ambito CurrentUser .
L'ambito AllUsers richiede autorizzazioni elevate e installa i moduli in un percorso accessibile a tutti gli utenti del computer:
$env:ProgramFiles\PowerShell\Modules
CurrentUser non richiede autorizzazioni elevate e installa i moduli in un percorso accessibile solo all'utente corrente del computer:
$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: | CurrentUser |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra cosa accadrebbe se Update-Module
viene eseguito. 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[]
Output
Note
PowerShell include gli alias seguenti per Update-Module
:
- Tutte le piattaforme:
upmo
Per PowerShell versione 6.0 e successive, l'ambito di installazione predefinito è sempre CurrentUser.
Gli aggiornamenti dei moduli per CurrentUser, $HOME\Documents\PowerShell\Modules
, non richiedono autorizzazioni elevate. Gli aggiornamenti dei moduli per AllUsers, $env:ProgramFiles\PowerShell\Modules
, richiedono autorizzazioni elevate.
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.
Update-Module
viene eseguito in PowerShell 3.0 o versioni successive di PowerShell, in Windows 7 o Windows 2008 R2 e versioni successive di Windows.
Se il modulo specificato con il parametro Name non è stato installato usando Install-Module
, si verifica un errore.
È possibile eseguire Update-Module
solo i moduli installati dalla raccolta online eseguendo Install-Module
.
Se Update-Module
tenta di aggiornare i file binari in uso, Update-Module
restituisce un errore che identifica i processi del problema. L'utente viene informato di riprovare Update-Module
dopo l'arresto dei processi.