Freigeben über


about_PSResourceGet

Kurzbeschreibung

Beschreibt, wie Version 1.2.0 des Moduls Microsoft.PowerShell.PSResourceGet verwendet wird.

Lange Beschreibung

Microsoft.PowerShell.PSResourceGet ist eine aktualisierte Version des PowerShellGet-Moduls , vollständig in C# geschrieben, und bietet folgende Vorteile gegenüber früheren Versionen von PowerShellGet:

  • Vereinfacht die Codebasis, wodurch es einfacher ist, Fehler zu verbessern und zu beheben
  • Beseitigt die Abhängigkeit vom PackageManagement-Modul und verwendet direkt die NuGet-APIs
  • Behebt langjährige Usability-Probleme, die Änderungen in PowerShellGet v2 brechen würden
  • Verbessert Such- und Installationsleistung

Beim ersten Einsatz von Microsoft.PowerShell.PSResourceGet registriert das Modul die PowerShell-Galerie als PSResource-Repository. Standardmäßig wird das PSGallery-Repository mit Priorität 50 registriert und als nicht vertrauenswürdig markiert. Verwenden Sie folgenden Befehl, um dem PSGallery-Repository zu vertrauen:

Set-PSResourceRepository -Name PSGallery -Trusted -PassThru

Änderungen am Design

Frühere Versionen von PowerShellGet hatten separate Befehle, um mit Modulen und Skripts zu arbeiten. In Microsoft.PowerShell.PSResourceGet-werden alle Pakete im PowerShell-Katalog als PSResource--Objekte definiert.

Die folgende Tabelle zeigt die Cmdlets, die in Microsoft.PowerShell.PSResourceGet und deren PowerShellGet v2-Äquivalenten verfügbar sind.

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

Suchen nach NuGet-Versionsbereichen

Mehrere Microsoft.PowerShell.PSResourceGet Cmdlets stellen einen Version Parameter bereit, mit dem Sie einen Bereich von Versionen angeben können, nach denen gesucht werden soll. Der parameter Version verwendet die NuGet-Versionsverwaltungssyntax. Weitere Informationen zu NuGet-Versionsbereichen finden Sie unter Paketversionsverwaltung.

PowerShellGet unterstützt alle mindestens inklusive Version in der NuGet-Versionsbereichsdokumentation aufgeführt. Die Verwendung von 1.0.0.0, da die Version die Versionen 1.0.0.0.0 und höher (minimaler inklusiver Bereich) nicht liefert. Stattdessen wird der Wert als erforderliche Version betrachtet. Verwenden Sie [1.0.0.0, ] als Versionsbereich, um nach einem minimal inklusiven Bereich zu suchen.

Suche nach benötigten Ressourcen

Das cmdlet Install-PSResource verfügt über RequiredResource und RequiredResourceFile Parameter, die verwendet werden, um PSResource Objekte zu finden, die bestimmten Kriterien entsprechen. Sie können die Suchkriterien mithilfe einer Hashtable oder eines JSON-Objekts angeben. Für den parameter RequiredResourceFile wird die Hashtable in einer .psd1 Datei gespeichert, und das JSON-Objekt wird in einer .json Datei gespeichert.

Die Hashtabelle kann Attribute für mehrere Module enthalten. Das folgende Beispiel zeigt die Struktur der Modulspezifikation:

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

Dieses Beispiel enthält Spezifikationen für drei Module. Wie möglich sind die Modulattribute optional.

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

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

    TestModule99 = @{}
}

Das nächste Beispiel zeigt die gleiche Spezifikation im 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": {}
}

Siehe auch