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