Installazione di PowerShellGetInstalling PowerShellGet

PowerShellGet è un modulo incluso nelle seguenti versioniPowerShellGet is an in-box module in the following releases

Prima di aggiornare PowerShellGet è sempre consigliabile installare il provider NuGet più recente.Before updating PowerShellGet, you should always install the latest NuGet provider. Eseguire il codice seguente in una sessione di PowerShell con privilegi elevati.From an elevated PowerShell session, run the following command.

Install-PackageProvider -Name NuGet -Force

Per i sistemi con PowerShell 5.0 (o versione successiva) è possibile installare la versione più recente di PowerShellGetFor systems with PowerShell 5.0 (or newer) you can install the latest PowerShellGet

Per installare PowerShellGet in Windows 10, Windows Server 2016, nei sistemi con WMF 5.0 o 5.1 o nei sistemi con PowerShell 6, eseguire i comandi seguenti in una sessione di PowerShell con privilegi elevati.To install PowerShellGet on Windows 10, Windows Server 2016, any system with WMF 5.0 or 5.1 installed, or any system with PowerShell 6, run the following commands from an elevated PowerShell session.

Install-Module -Name PowerShellGet -Force

Usare Update-Module per ottenere le versioni più recenti.Use Update-Module to get newer versions.

Update-Module -Name PowerShellGet
Exit

Per i computer che eseguono PowerShell 3.0 o PowerShell 4.0For computers running PowerShell 3.0 or PowerShell 4.0

Queste istruzioni si applicano ai computer in cui è installata l'anteprima di PackageManagement oppure in cui non è installata alcuna versione di PowerShellGet.These instructions apply to computers that have the PackageManagement Preview installed or don't have any version of PowerShellGet installed.

Il cmdlet Save-Module viene usato in entrambi i set di istruzioni.The Save-Module cmdlet is used in both sets of instructions. Save-Module scarica e salva un modulo e le eventuali dipendenze da un repository registrato.Save-Module downloads and saves a module and any dependencies from a registered repository. La versione più recente del modulo viene salvata in un percorso specificato nel computer locale, ma non viene installata.The module's most current version is saved to a specified path on the local computer, but isn't installed. Per installare i moduli in PowerShell 3.0 o 4.0, copiare le cartelle salvate del modulo in $env:ProgramFiles\WindowsPowerShell\Modules.To install the modules in PowerShell 3.0 or 4.0, copy the module saved folders to $env:ProgramFiles\WindowsPowerShell\Modules.

Per altre informazioni, vedere Save-Module.For more information, see Save-Module.

Nota

PowerShell 3.0 e PowerShell 4.0 supportano solo una versione di un modulo.PowerShell 3.0 and PowerShell 4.0 only supported one version of a module. A partire da PowerShell 5.0 i moduli vengono installati in <modulename>\<version>.Starting in PowerShell 5.0, modules are installed in <modulename>\<version>. In questo modo è possibile installare più versioni affiancate.This allows you to install multiple versions side-by-side. Dopo aver scaricato il modulo usando Save-Module è necessario copiare i file dalla cartella <modulename>\<version> alla cartella <modulename> nel computer di destinazione, come descritto nelle istruzioni seguenti.After downloading the module using Save-Module you must copy the files from the <modulename>\<version> to the <modulename> folder on the destination machine, as shown in the instructions below.

Passaggio preparatorio per i computer che eseguono PowerShell 3.0Preparatory Step on computers running PowerShell 3.0

Le istruzioni riportate nelle sezioni seguenti installano i moduli nella directory $env:ProgramFiles\WindowsPowerShell\Modules.The instructions in the sections below install the modules in directory $env:ProgramFiles\WindowsPowerShell\Modules. In PowerShell 3.0 questa directory non è elencata in $env:PSModulePath per impostazione predefinita, pertanto è necessario aggiungerla affinché i moduli vengano caricati automaticamente.In PowerShell 3.0, this directory isn't listed in $env:PSModulePath by default, so you'll need to add it in order for the modules to be auto-loaded.

Aprire una sessione di PowerShell con privilegi elevati ed eseguire il comando seguente, che verrà applicato nelle sessioni future:Open an elevated PowerShell session and run the following command (which will take effect in future sessions):

[Environment]::SetEnvironmentVariable(
  'PSModulePath',
  ((([Environment]::GetEnvironmentVariable('PSModulePath', 'Machine') -split ';') + "$env:ProgramFiles\WindowsPowerShell\Modules") -join ';'),
  'Machine'
)

Computer con l'anteprima di PackageManagement installataComputers with the PackageManagement Preview installed

Nota

L'anteprima di PackageManagement Preview era un componente scaricabile che rendeva PowerShellGet disponibile per le versioni 3 e 4 di PowerShell, ma non è più disponibile.PackageManagement Preview was a downloadable component that made PowerShellGet available to PowerShell versions 3 and 4, but it is no longer available. Per verificare se è stato installato in un determinato computer, eseguire Get-Module -ListAvailable PowerShellGet.To test if it was installed on a given computer, run Get-Module -ListAvailable PowerShellGet.

  1. Da una sessione di PowerShell usare Save-Module per scaricare la versione corrente di PowerShellGet.From a PowerShell session, use Save-Module to download the current version of PowerShellGet. Vengono scaricate due cartelle: PowerShellGet e PackageManagement.Two folders are downloaded: PowerShellGet and PackageManagement. Ogni cartella contiene una sottocartella con un numero di versione.Each folder contains a subfolder with a version number.

    Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
    
  2. Verificare che i moduli PowerShellGet e PackageManagement non siano caricati in altri processi.Ensure that the PowerShellGet and PackageManagement modules aren't loaded in any other processes.

  3. Riaprire la console di PowerShell con privilegi elevati ed eseguire il comando seguente.Reopen the PowerShell console with elevated permissions and run the following command.

    'PowerShellGet', 'PackageManagement' | % { 
      $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_"
      Remove-Item $targetDir\* -Recurse -Force
      Copy-Item C:\LocalFolder\$_\*\* $targetDir\ -Recurse -Force
    }
    

Computer senza PowerShellGetComputers without PowerShellGet

Per i computer senza una versione di PowerShellGet installata (verificare con Get-Module -ListAvailable PowerShellGet), per scaricare i moduli è necessario un computer con PowerShellGet installato.For computers without any version of PowerShellGet installed (test with Get-Module -ListAvailable PowerShellGet), a computer with PowerShellGet installed is needed to download the modules.

  1. Dal computer in cui è installato PowerShellGet usare Save-Module per scaricare la versione corrente di PowerShellGet.From the computer that has PowerShellGet installed, use Save-Module to download the current version of PowerShellGet. Vengono scaricate due cartelle: PowerShellGet e PackageManagement.Two folders are downloaded: PowerShellGet and PackageManagement. Ogni cartella contiene una sottocartella con un numero di versione.Each folder contains a subfolder with a version number.

    Save-Module -Name PowerShellGet -Path C:\LocalFolder -Repository PSGallery
    
  2. Copiare la rispettiva sottocartella <version> nelle cartelle PowerShellGet e PackageManagement nel computer in cui non è installato PowerShellGet, rispettivamente nelle cartelle $env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\ e $env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\, operazione per cui è richiesta una sessione con privilegi elevati.Copy the respective <version> subfolder in the PowerShellGet and PackageManagement folders to the computer that doesn't have PowerShellGet installed, into folders $env:ProgramFiles\WindowsPowerShell\Modules\PowerShellGet\ and $env:ProgramFiles\WindowsPowerShell\Modules\PackageManagement\ respectively, which requires an elevated session.

  3. Ad esempio, se è possibile accedere alla cartella di download in un altro computer, ad esempio ws1, dal computer di destinazione tramite un percorso UNC, ad esempio \\ws1\C$\LocalFolder, aprire una console di PowerShell con autorizzazioni elevate ed eseguire il comando seguente:For instance, if you can access the download folder on the other computer, say ws1, from the target computer via a UNC path, say \\ws1\C$\LocalFolder, open a PowerShell console with elevated permissions and run the following command:

    'PowerShellGet', 'PackageManagement' | % {
      $targetDir = "$env:ProgramFiles\WindowsPowerShell\Modules\$_"
      $null = New-Item -Type Directory -Force $targetDir
      $fromComputer = 'ws1'  # Specify the name of the other computer here.
      Copy-Item \\$fromComputer\C$\LocalFolder\$_\*\* $targetDir -Recurse -Force
      if (-not (Get-ChildItem $targetDir)) { Throw "Copying failed." }
    }