Introduzione a PowerShell Gallery

PowerShell Gallery è un repository di pacchetti che contiene gli script, i moduli e le risorse DSC che è possibile scaricare e usare. Per installare i pacchetti da PowerShell Gallery si usano i cmdlet nel modulo PowerShellGet. Non è necessario accedere per scaricare gli elementi dalla PowerShell Gallery.

Nota

È possibile scaricare un pacchetto direttamente dal PowerShell Gallery, ma questo non è un approccio consigliato. Per altre informazioni, vedere Download manuale del pacchetto.

È possibile trovare pacchetti nella PowerShell Gallery usando il controllo Ricerca nella home page della PowerShell Gallery oppure passando attraverso i moduli e gli script dalla pagina Pacchetti. È anche possibile trovare pacchetti dal PowerShell Gallery eseguendo i Find-Modulecmdlet , Find-DscResourcee Find-Script , a seconda del tipo di pacchetto, con -Repository PSGallery.

È possibile filtrare i risultati dalla raccolta usando i parametri seguenti:

  • Nome
  • AllVersions
  • MinimumVersion
  • RequiredVersion
  • Tag
  • Includes
  • DscResource
  • RoleCapability
  • Comando
  • Filtra

Se si è interessati solo all'individuazione di risorse DSC specifiche nella raccolta, è possibile eseguire il Find-DscResource cmdlet. Find-DscResource restituisce dati sulle risorse DSC contenute nella raccolta. Poiché le risorse DSC vengono sempre recapitate come parte di un modulo, è comunque necessario eseguire Install-Module per installare tali risorse DSC.

Dopo avere identificato un pacchetto di interesse, può essere utile ottenere altre informazioni che lo riguardano. A questo scopo, è possibile esaminare la pagina specifica del pacchetto nella raccolta. In questa pagina sarà possibile visualizzare tutti i metadati caricati con il pacchetto. Questi metadati vengono forniti dall'autore del pacchetto e non sono verificati da Microsoft. Il proprietario del pacchetto è strettamente legato all'account della raccolta usato per pubblicare il pacchetto ed è più affidabile rispetto al campo relativo all'autore.

Se si individua un pacchetto che si sente non è pubblicato in buona fede, fare clic su Segnala abuso nella pagina del pacchetto.

Se si esegue Find-Module o Find-Scriptè possibile visualizzare questi dati nell'oggetto PSGetModuleInfo restituito. Nell'esempio seguente vengono restituiti dati nel modulo PSReadLine nella raccolta.

Find-Module -Name PSReadLine -Repository PSGallery | Get-Member

Per il download di pacchetti da PowerShell Gallery è consigliabile seguire questa procedura:

Controllare

Per scaricare un pacchetto dalla raccolta per l'ispezione, eseguire il Save-Module cmdlet o Save-Script a seconda del tipo di pacchetto. In questo modo è possibile salvare il pacchetto in locale senza installarlo, quindi esaminarne il contenuto. Ricordarsi di eliminare il pacchetto salvato manualmente.

Alcuni di questi pacchetti sono creati da Microsoft, altri dalla community di PowerShell. Microsoft consiglia di esaminare il contenuto e il codice dei pacchetti in questa raccolta prima dell'installazione.

Se si individua un pacchetto che si sente non è pubblicato in buona fede, fare clic su Segnala abuso nella pagina del pacchetto.

Installare

Per installare un pacchetto dalla raccolta da usare, eseguire il Install-Module cmdlet o Install-Script a seconda del tipo di pacchetto.

Install-Module installa il modulo in $env:ProgramFiles\WindowsPowerShell\Modules per impostazione predefinita. È necessario un account Administrator. Se si aggiunge il parametro -Scope CurrentUser il modulo viene installato in $HOME\Documents\WindowsPowerShell\Modules.

Install-Script installa lo script in $env:ProgramFiles\WindowsPowerShell\Scripts per impostazione predefinita. È necessario un account Administrator. Se si aggiunge il parametro -Scope CurrentUser lo script viene installato in $HOME\Documents\WindowsPowerShell\Scripts.

Per impostazione predefinita, Install-Module e Install-Script installa la versione più recente di un pacchetto. Per installare una versione precedente del pacchetto, aggiungere il parametro -RequiredVersion.

Distribuire

Per distribuire un pacchetto da PowerShell Gallery in Automazione di Azure, fare clic su Azure Automation (Automazione di Azure) e quindi su Deploy to Azure Automation (Distribuisci in Automazione di Azure) nella pagina dei dettagli del pacchetto. Si viene reindirizzati al portale di gestione di Azure in cui si accede usando le credenziali dell'account Azure. Si noti che la distribuzione di pacchetti con dipendenze include anche la distribuzione di tutte le dipendenze in Automazione di Azure. Il pulsante 'Deploy to Azure Automation' (Distribuisci in Automazione di Azure) può essere disabilitato aggiungendo il tag AzureAutomationNotSupported ai metadati del pacchetto.

Per altre informazioni su Automazione di Azure, vedere la documentazione di Automazione di Azure.

Per aggiornare i pacchetti installati dalla PowerShell Gallery, eseguire il Update-Module cmdlet oUpdate-Script. Quando viene eseguito senza parametri aggiuntivi, Update-Module tenta di aggiornare tutti i moduli installati eseguendo Install-Module. Per aggiornare i moduli in modo selettivo aggiungere il parametro -Name.

Analogamente, quando viene eseguito senza parametri aggiuntivi, Update-Script tenta anche di aggiornare tutti gli script installati eseguendo Install-Script. Per aggiornare gli script in modo selettivo aggiungere il parametro -Name.

Per scoprire quali moduli sono stati installati dal PowerShell Gallery, eseguire il Get-InstalledModule cmdlet. Questo comando elenca tutti i moduli installati nel sistema che sono stati installati direttamente dalla PowerShell Gallery.

Analogamente, per scoprire quali script sono stati installati dalla PowerShell Gallery, eseguire il Get-InstalledScript cmdlet. Questo comando elenca tutti gli script presenti nel sistema che sono stati installati direttamente da PowerShell Gallery.

Questi nomi host devono essere aggiunti agli elenchi degli elementi consentiti che controllano l'accesso dalla rete.

Host necessari per l'individuazione dei pacchetti e il download:

  • onegetcdn.azureedge.net: nome host della rete CDN

Gli host necessari quando si usa il sito Web di PowerShell Gallery:

  • devopsgallerystorage.blob.core.windows.net: nome host dell'account di archiviazione
  • *.powershellgallery.com: sito Web
  • go.microsoft.com: servizio di reindirizzamento

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.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

Per altre informazioni, vedere l'annuncio corrispondente nel blog di PowerShell.