Condividi tramite


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

String

PSCredential

Uri

Output

Object

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.