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.

Si tratta di un cmdlet proxy per il Update-PSResource cmdlet in Microsoft.PowerShell.PSResourceGet. Per altre informazioni, vedere Update-PSResource.

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.

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

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

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 Update-PSResource.

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

Il cmdlet proxy ignora questo parametro perché non è supportato da Update-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 Update-PSResource.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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 Update-PSResource.

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.

Il PowerShell Gallery non supporta più Transport Layer Security (TLS) versioni 1.0 e 1.1. È necessario usare TLS 1.2 o versione successiva. Per verificare di usare TLS 1.2, eseguire il comando seguente:

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

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.