about_PSResourceGet
Kurzbeschreibung
Beschreibt die Verwendung von Version 1.1.0 des Microsoft.PowerShell.PSResourceGet Moduls.
Lange Beschreibung
Microsoft.PowerShell.PSResourceGet ist eine aktualisierte Version des PowerShellGet Moduls, das vollständig in C# geschrieben wurde.
Diese Version von PowerShellGet konzentriert sich auf einige wichtige Bereiche:
- Vereinfachen sie die Codebasis, sodass Fehler einfacher verbessert und behoben werden können
- Entfernen Sie die Abhängigkeit vom PackageManagement Modul, und verwenden Sie die NuGet--Bibliothek direkt.
- Beheben von langfristigen Problemen bei der Benutzerfreundlichkeit, die Änderungen von v2 unterbrechen würden
- Beibehalten der Kompatibilität für vorhandene Skripts, die mit v2 über ein separates Kompatibilitätsmodul erwartet werden
- Verbessern der Such- und Installationsleistung
Entwurfsänderungen
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.
In der folgenden Tabelle sind die Cmdlets aufgeführt, die in PowerShellGet- v3 und ihren v2-Entsprechungen 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 |
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.
Suchen nach erforderlichen 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": {}
}