Share via


about_PSResourceGet

Kort beskrivning

Beskriver hur du använder version 1.0.5 av modulen Microsoft.PowerShell.PSResourceGet .

Lång beskrivning

Microsoft.PowerShell.PSResourceGet är en uppdaterad version av PowerShellGet-modulen helt skriven i C#.

Den här versionen av PowerShellGet fokuserar på några viktiga områden:

  • Förenkla kodbasen så att det blir enklare att förbättra och åtgärda buggar
  • Ta bort beroendet av PackageManagement-modulen och använd NuGet-biblioteket direkt
  • Åtgärda långvariga problem med användbarhet som skulle bryta ändringar från v2
  • Upprätthålla kompatibilitet för befintliga skript som skrivits förväntar sig v2 via en separat kompatibilitetsmodul
  • Förbättra sök- och installationsprestanda

Designändringar

Tidigare versioner av PowerShellGet hade separata kommandon för att arbeta med moduler och skript. I Microsoft.PowerShell.PSResourceGet definieras alla paket i PowerShell-galleriet som PSResource-objekt. Detta minskar antalet cmdletar från 26 i version 2.x till 18 i version 0.9.

I följande tabell visas de cmdletar som är tillgängliga i PowerShellGet v3 och deras v2-motsvarigheter.

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

Söka efter NuGet-versionsintervall

Flera Microsoft.PowerShell.PSResourceGet-cmdletar tillhandahåller en versionsparameter som gör att du kan ange ett antal versioner att söka efter. Parametern Version använder nuGet-versionssyntaxen. Mer information om NuGet-versionsintervall finns i Paketversionshantering.

PowerShellGet stöder alla utom den lägsta inkluderande versionen som anges i dokumentationen för NuGet-versionsintervallet. Att använda 1.0.0.0 som version ger inte version 1.0.0.0 och högre (minsta inkluderande intervall). I stället anses värdet vara den version som krävs. Om du vill söka efter ett minsta inkluderande intervall använder [1.0.0.0, ] du som versionsintervall.

Söka efter nödvändiga resurser

Cmdleten Install-PSResource har parametrarna RequiredResource och RequiredResourceFile som används för att hitta PSResource-objekt som matchar specifika villkor. Du kan ange sökvillkoren med hjälp av en hashtable eller ett JSON-objekt. För parametern RequiredResourceFile lagras hashtabellen i en .psd1 fil och JSON-objektet lagras i en .json fil.

Hashtabellen kan innehålla attribut för flera moduler. I följande exempel visas modulspecifikationens struktur:

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

Det här exemplet innehåller specifikationer för tre moduler. Som du kan är modulattributen valfria.

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

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

    TestModule99 = @{}
}

I nästa exempel visas samma specifikation i JSON-format.

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

Se även