Condividi tramite


about_PSResourceGet

Descrizione breve

Viene descritto come usare la versione 1.0.5 del modulo Microsoft.PowerShell.PSResourceGet .

Descrizione lunga

Microsoft.PowerShell.PSResourceGet è una versione aggiornata del modulo PowerShellGet completamente scritto in C#.

Questa versione di PowerShellGet è incentrata su alcune aree chiave:

  • Semplificare la code base semplificando l'miglioramento e la correzione dei bug
  • Rimuovere la dipendenza dal modulo PackageManagement e usare direttamente la libreria NuGet
  • Risolvere i problemi di usabilità di lunga durata che causano un'interruzione delle modifiche dalla versione 2
  • Mantenere la compatibilità per gli script esistenti scritti in attesa della versione 2 tramite un modulo di compatibilità separato
  • Migliorare le prestazioni di ricerca e installazione

Modifiche alla progettazione

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 . In questo modo, il numero di cmdlet da 26 nella versione 2.x a 18 nella versione 0.9.

La tabella seguente illustra i cmdlet disponibili in PowerShellGet v3 e i relativi equivalenti v2.

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n/d Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n/d
Import-PSGetRepository n/d
Install-PSResource Install-Module
Install-PSResource Install-Script
New-PSScriptFileInfo New-ScriptFileInfo
Publish-PSResource Publish-Module
Publish-PSResource Publish-Script
Register-PSResourceRepository Register-PSRepository
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 a 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, ma la versione minima inclusa elencata nella documentazione relativa all'intervallo di versioni di NuGet. L'uso 1.0.0.0 come versione non produce 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 Install-PSResource cmdlet include parametri RequiredResource e 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 .psd1 file e l'oggetto JSON viene archiviato in un .json file.

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": {}
}

Vedi anche