Condividi tramite


about_PSResourceGet

Breve descrizione

Descrive come utilizzare la versione 1.2.0 del modulo Microsoft.PowerShell.PSResourceGet .

Descrizione lunga

Microsoft.PowerShell.PSResourceGet è una versione aggiornata del modulo PowerShellGet completamente scritta in C# e offre i seguenti vantaggi rispetto alle versioni precedenti di PowerShellGet:

  • Semplifica la base di codice rendendo più facile migliorare e correggere bug
  • Elimina la dipendenza dal modulo PackageManagement e utilizza direttamente le API NuGet
  • Affronta problemi di usabilità di lunga data che sarebbero cambiamenti compromettenti se venissero fatti in PowerShellGet v2
  • Migliora le prestazioni di ricerca e installazione

La prima volta che usi Microsoft.PowerShell.PSResourceGet, il modulo registra la PowerShell Gallery come repository PSResource. Di default, il repository PSGallery è registrato con una priorità di 50 ed è contrassegnato come non affidabile. Usa il seguente comando per fidarti del repository PSGallery:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

Modifiche al design

Le versioni precedenti di PowerShellGet avevano comandi separati da usare con moduli e script. In Microsoft.PowerShell.PSResourceGet, tutti i pacchetti in PowerShell Gallery vengono definiti come oggetti PSResource.

La tabella seguente mostra i cmdlet disponibili in Microsoft.PowerShell.PSResourceGet e nei loro equivalenti PowerShellGet v2.

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
Compress-PSResource n/a
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n/a Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n/a
Import-PSGetRepository n/a
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
Reset-PSResourceRepository n/a
Save-PSResource Save-Module
Save-PSResource Save-Script
Set-PSResourceRepository Set-PSRepository
Test-PSScriptFileInfo Test-ScriptFileInfo
Uninstall-PSResource Uninstall-Module
Uninstall-PSResource Uninstall-Script
Unregister-PSResourceRepository Unregister-PSRepository
Update-PSModuleManifest Update-ModuleManifest
Update-PSResource Update-Module
Update-PSResource Update-Script
Update-PSScriptFileInfo Update-ScriptFileInfo

Ricerca in base agli intervalli di versioni di NuGet

Diversi cmdlet Microsoft.PowerShell.PSResourceGet forniscono un parametro Version che consente di specificare un intervallo di versioni da cercare. Il parametro version usa la sintassi di controllo delle versioni di NuGet. Per altre informazioni sugli intervalli di versioni di NuGet, vedere Controllo delle versioni dei pacchetti.

PowerShellGet supporta tutte le versioni incluse elencate nella documentazione dell'intervallo di versioni di NuGet. L'uso di 1.0.0.0 perché la versione non restituisce versioni 1.0.0.0 e successive (intervallo inclusivo minimo). Il valore viene invece considerato la versione richiesta. Per cercare un intervallo inclusivo minimo, usare [1.0.0.0, ] come intervallo di versioni.

Ricerca in base alle risorse necessarie

Il cmdlet Install-PSResource include RequiredResource e parametri RequiredResourceFile usati per trovare oggetti PSResource corrispondenti a criteri specifici. È possibile specificare i criteri di ricerca usando una tabella hash o un oggetto JSON. Per il parametro RequiredResourceFile, la tabella hash viene archiviata in un file .psd1 e l'oggetto JSON viene archiviato in un file .json.

La tabella hash può contenere attributi per più moduli. L'esempio seguente illustra la struttura della specifica del modulo:

@{
    <modulename> = @{
        version = '<version-spcification>'
        repository = '<reponame>'
        prerelease = '<boolean>'
    }
}

Questo esempio contiene le specifiche per tre moduli. Come è possibile, gli attributi del modulo sono facoltativi.

 @{
    TestModule = @{
        version = '[0.0.1,1.3.0]'
        repository = 'PSGallery'
    }

    TestModulePrerelease = @{
        version = '[0.0.0,0.0.5]'
        repository = 'PSGallery'
        prerelease = $true
    }

    TestModule99 = @{}
}

L'esempio seguente mostra la stessa specifica in formato JSON.

{
  "TestModule": {
    "version": "[0.0.1,1.3.0)",
    "repository": "PSGallery"
  },
  "TestModulePrerelease": {
    "version": "[0.0.0,0.0.5]",
    "repository": "PSGallery",
    "prerelease": "true"
  },
  "TestModule99": {}
}

Vedere anche