Dela via


about_PSResourceGet

Kort beskrivning

Beskriver hur man använder version 1.2.0 av Microsoft.PowerShell.PSResourceGet-modulen .

Lång beskrivning

Microsoft.PowerShell.PSResourceGet är en uppdaterad version av PowerShellGet-modulen helt skriven i C# och ger följande fördelar jämfört med tidigare versioner av PowerShellGet:

  • Förenklar kodbasen och gör det lättare att förbättra och åtgärda buggar
  • Tar bort beroendet av PackageManagement-modulen och använder NuGet-API :erna direkt
  • Åtgärdar långvariga användbarhetsproblem som skulle vara bristfälliga ändringar om de görs i PowerShellGet v2
  • Förbättrar sök- och installationsprestanda

Första gången du använder Microsoft.PowerShell.PSResourceGet registrerar modulen PowerShell-galleriet som ett PSResource-arkiv. Som standard registreras PSGallery-arkivet med prioritet 50 och markeras som opålitligt. Använd följande kommando för att lita på PSGallery-arkivet:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

Ändringar i designen

Tidigare versioner av PowerShellGet- hade separata kommandon för att arbeta med moduler och skript. I Microsoft.PowerShell.PSResourceGetdefinieras alla paket i PowerShell-galleriet som PSResource- objekt.

Följande tabell visar de cmdlets som finns tillgängliga i Microsoft.PowerShell.PSResourceGet och deras motsvarigheter till 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

Söka efter NuGet-versionsintervall

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

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 du [1.0.0.0, ] som versionsintervall.

Söka efter nödvändiga resurser

Cmdleten Install-PSResource har RequiredResource och RequiredResourceFile parametrar 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