PowerShell & Scripting
PSResourceGet
Allgemeine Infos
Microsoft.PowerShell.PSResourceGet ist der Paketmanager für PowerShell. Er findet, installiert, aktualisiert und veröffentlicht Module, Skripte, DSC-Ressourcen und JEA-Rollenfunktionen aus Repositories wie der PowerShell Gallery. Das Modul setzt das frühere Projekt PowerShellGet 3.0 fort und wurde umbenannt, damit bestehende Automatisierungen mit den PowerShellGet-Cmdlets wie Install-Module nicht brechen. Allgemein verfügbar ist PSResourceGet seit dem 9. Oktober 2023.
PSResourceGet ist ab PowerShell 7.4 enthalten, dort parallel zu PowerShellGet 2.2.5. Windows PowerShell 5.1 bringt nur PowerShellGet 1.0.0.1 mit, das die aktuellen Funktionen der Gallery nicht unterstützt: Dort aktualisierst Du zuerst PowerShellGet und installierst dann PSResourceGet. Aktuelle stabile Version ist 1.2.0 vom 11. März 2026, Version 1.3.0 liegt seit Oktober 2026 als Release Candidate vor.
Laut Roadmap des PowerShell-Teams vom 20. Mai 2026 registriert Version 1.3 die Microsoft Artifact Registry (MAR) als Standard-Repository für Microsoft-Module und bringt parallele Installationen sowie eine DSC-v3-Ressource. Ab 1.3 richtet Microsoft die Entwicklung auf PowerShell 7 aus, Windows PowerShell fällt aus der Unterstützung. Abgrenzung: Ein PowerShell-Modul ist das Paket, die PowerShell Gallery das öffentliche Repository, PSResourceGet der Client dazwischen.
Funktionsweise & Details
PSResourceGet ist eine Neuentwicklung ohne Abhängigkeit von PackageManagement (OneGet) oder NuGet-Providern. Der typische Ablauf:
- Repositories: Get-PSResourceRepository zeigt die registrierten Quellen, Register-PSResourceRepository fügt weitere hinzu, etwa NuGet-v2- und -v3-Feeds, Azure Artifacts, GitHub Packages, Artifactory, Dateifreigaben oder Azure Container Registry. Mit -Trusted und -Priority legst Du fest, welcher Quelle ohne Rückfrage vertraut wird und in welcher Reihenfolge gesucht wird. Import-PSGetRepository übernimmt die unter PowerShellGet registrierten Repositories.
- Suchen: Find-PSResource sucht nach Name, Version oder Tags.
- Installieren: Install-PSResource installiert mit -Scope CurrentUser oder AllUsers und auf Wunsch einer festen -Version. Save-PSResource lädt Pakete nur herunter, etwa für Offline-Server oder ein internes Repository.
- Pflegen: Get-InstalledPSResource listet installierte Pakete, Update-PSResource holt neuere Versionen, Uninstall-PSResource entfernt sie.
- Veröffentlichen: Publish-PSResource lädt Module und Skripte in ein Repository, Compress-PSResource erzeugt ein .nupkg, Update-PSModuleManifest und die Cmdlets New-, Get-, Test- und Update-PSScriptFileInfo pflegen die Metadaten.
Kurzaliase wie isres, fdres, udres und pbres verkürzen die Befehle, Get-PSResource ist ein Alias für Get-InstalledPSResource.
Vorteile & Nutzen
- Schlanker Unterbau: Ohne PackageManagement und Provider-Modell ist der Code einfacher, Microsoft nennt bessere Effizienz, Performance und Qualität als Ziel der Neuentwicklung
- Mehr Repository-Typen: NuGet v3, Azure Artifacts, GitHub Packages und Container Registries lassen sich als interne Quellen einbinden, das erleichtert ein eigenes freigegebenes Repository
- Vertrauenssteuerung: Trusted-Kennzeichen und Priorität je Repository bestimmen, aus welcher Quelle Produktionssysteme installieren
- Im Lieferumfang: Ab PowerShell 7.4 ist nichts zusätzlich zu installieren, der Support folgt dem Lebenszyklus der PowerShell-Version, mit der PSResourceGet ausgeliefert wird
Praxisbeispiel
Ein Automobilzulieferer mit 800 Mitarbeitenden betreibt 25 Admin- und Automatisierungsserver, die Module bisher direkt per Install-Module aus der PowerShell Gallery ziehen. Die IT richtet einen internen Azure-Artifacts-Feed ein, übernimmt dorthin nur getestete Modulversionen und registriert auf allen Servern per Register-PSResourceRepository ausschließlich diesen Feed als vertrauenswürdig. Installationen laufen per Install-PSResource mit fester Version. Ein fehlerhaftes oder manipuliertes Update in der Gallery erreicht die Produktion damit nicht mehr automatisch.
Worauf sollte man achten?
- Unter Windows PowerShell 5.1 zuerst das mitgelieferte PowerShellGet 1.0.0.1 aktualisieren, sonst scheitert die Installation von PSResourceGet
- Produktion nur aus einem internen, als Trusted registrierten Repository versorgen, Microsoft stuft die PowerShell Gallery als standardmäßig nicht vertrauenswürdig ein
- Versionen mit -Version festschreiben statt immer die neueste zu ziehen und Updates erst nach einem Test auf einem Referenzsystem freigeben
- Preview- und RC-Versionen sind nicht unterstützt und gehören nicht auf Produktionssysteme
- Wer noch Windows PowerShell 5.1 für Automatisierung einsetzt, plant den Umstieg auf PowerShell 7 ein, weil PSResourceGet ab Version 1.3 darauf ausgerichtet ist
Lizenz & Verfügbarkeit
PSResourceGet ist kostenlos, ab PowerShell 7.4 enthalten und für Windows PowerShell 5.1 über die PowerShell Gallery installierbar. Der Support folgt dem Lebenszyklus der PowerShell-Version, mit der die jeweilige Version ausgeliefert wird, separat installierte Versionen werden nur durch neuere Versionen korrigiert (fix forward). Stand: Oktober 2026.
Fazit
PSResourceGet ist der aktuelle Paketmanager für PowerShell und sollte in neuen Skripten Install-Module ablösen. Kombiniere ihn mit einem internen, vertrauenswürdigen Repository, damit Produktionsserver nicht direkt aus der Gallery installieren.
Weiterführende Links
Verwandte Artikel
PowerShell
PowerShell | Artifact Registry ersetzt PowerShell Gallery
PHscripts.de | PSscripts.de
PowerShell-Update Radar: Was sich in Version 5 und 7 seit März 2025 getan hat
PHscripts.de | PSscripts.de
PowerShell 7: Module und WPF‑GUIs – ein Praxisleitfaden
Microsoft 365