Share via


about_PSResourceGet

Korte beschrijving

Hierin wordt beschreven hoe u versie 1.0.3 van de microsoft.PowerShell.PSResourceGet-module gebruikt.

Lange beschrijving

Microsoft.PowerShell.PSResourceGet is een bijgewerkte versie van de PowerShellGet-module die volledig is geschreven in C#.

Deze versie van PowerShellGet richt zich op enkele belangrijke gebieden:

  • De codebasis vereenvoudigen, zodat het eenvoudiger is om fouten te verbeteren en op te lossen
  • Verwijder de afhankelijkheid van de module PackageManagement en gebruik de NuGet-bibliotheek rechtstreeks
  • Langdurige bruikbaarheidsproblemen oplossen die wijzigingen van v2 zouden veroorzaken
  • Compatibiliteit onderhouden voor bestaande scripts die zijn geschreven in de verwachting van v2 via een afzonderlijke compatibiliteitsmodule
  • Zoek- en installatieprestaties verbeteren

Ontwerpwijzigingen

Eerdere versies van PowerShellGet hadden afzonderlijke opdrachten om te werken met modules en scripts. In Microsoft.PowerShell.PSResourceGet worden alle pakketten in de PowerShell Gallery gedefinieerd als PSResource-objecten. Dit vermindert het aantal cmdlets van 26 in versie 2.x naar 18 in versie 0.9.

In de volgende tabel ziet u de cmdlets die beschikbaar zijn in PowerShellGet v3 en de bijbehorende v2-equivalenten.

Microsoft.PowerShell.PSResourceGet PowerShellGet v2
Find-PSResource Find-Command
Find-PSResource Find-DscResource
Find-PSResource Find-Module
Find-PSResource Find-Script
n.v.t. Find-RoleCapability
Get-InstalledPSResource Get-InstalledModule
Get-InstalledPSResource Get-InstalledScript
Get-PSResourceRepository Get-PSRepository
Get-PSScriptFileInfo n.v.t.
Import-PSGetRepository n.v.t.
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

Zoeken op NuGet-versiebereiken

Verschillende Microsoft.PowerShell.PSResourceGet-cmdlets bieden een versieparameter waarmee u een reeks versies kunt opgeven waarnaar moet worden gezocht. De versieparameter maakt gebruik van de nuGet-versiebeheersyntaxis. Zie Pakketversiebeheer voor meer informatie over NuGet-versiebereiken.

PowerShellGet ondersteunt alle, behalve de minimale inclusieve versie die wordt vermeld in de documentatie over het NuGet-versiebereik. Als 1.0.0.0 u als versie gebruikt, levert geen versies 1.0.0.0 en hoger op (minimaal inclusief bereik). In plaats daarvan wordt de waarde beschouwd als de vereiste versie. Als u wilt zoeken naar een minimaal inclusief bereik, gebruikt [1.0.0.0, ] u als het versiebereik.

Zoeken op vereiste resources

De Install-PSResource cmdlet heeft de parameters RequiredResource en RequiredResourceFile die worden gebruikt om PSResource-objecten te vinden die voldoen aan specifieke criteria. U kunt de zoekcriteria opgeven met behulp van een hashtabel of een JSON-object. Voor de parameter RequiredResourceFile wordt de hashtabel opgeslagen in een .psd1 bestand en het JSON-object in een .json bestand.

De hashtable kan kenmerken voor meerdere modules bevatten. In het volgende voorbeeld ziet u de structuur van de modulespecificatie:

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

Dit voorbeeld bevat specificaties voor drie modules. Zoals mogelijk zijn de modulekenmerken optioneel.

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

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

    TestModule99 = @{}
}

In het volgende voorbeeld ziet u dezelfde specificatie in JSON-indeling.

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

Zie ook