Wir veröffentlichen unsere kostenlosen Produkte und ihre Updates nicht nur bei Github, sondern auch bei der PowerShell Gallery. Wie die Releases genau erfolgen, beschreiben wir in diesem Ratgeber mit Step-by-step-Anleitung.
Was ist die PowerShell Gallery?
Für die, die sie noch nicht kennen: Die PowerShell Gallery ist ein Repository, über das man Dritten eigene PowerShell-Module und Befehle über die Kommandozeile verfügbar machen kann. Es lassen sich damit ganz leicht neue Module installieren. Beispielsweise unser bekanntes und kostenfrei verfügbares AuditTAP.
Über die folgenden Befehle können Sie unser AuditTAP installieren:
Install-Module -Name ATAPAuditor
Install-Module -Name ATAPHtmlReport
Diese Module veröffentlichten wir bei der PowerShell Gallery
Die FB Pro GmbH stellte bislang vier verschiedene Module zur Verfügung. Diese erzielten innerhalb weniger Monate über 2.000 Downloads. Vielen Dank an die Community!
Wie die Veröffentlichung erfolgte, beschreiben wir in den folgenden Absätzen.
Publishen bei der PowerShell Gallery: unsere Tipps
Wie kann man bei der PowerShell Gallery etwas veröffentlichen? Dafür bietet Microsoft eine detaillierte Anleitung an. Jedoch fehlen hier Hinweise zu Fallstricken oder Tricks.
Mit diesem Ratgeber holen wir das Versäumnis von Microsoft nach. Wir bieten Ihnen eine einfache Schritt-für-Schritt-Anleitung für Ihren Schnelleinstieg.
Tipp: Möchten Sie das Publishen nur testen, gibt es die Möglichkeit ein lokales Repository aufzusetzen.
Schritt 1: Notwendige Metadaten bereitstellen
Bevor Sie Ihr eigenes PowerShell-Modul veröffentlichen, ist eine Überprüfung der sogenannten “Manifest-Datei” sinnvoll.
Das bedeutet:
-
-
- Passt die Versionsnummer?
- Haben Sie den Autor, Ihren Unternehmensnamen und die Modul-Beschreibung angegeben?
- Ist der Bereich unter PSData ausgefüllt?
-
Wichtig: Achten Sie darauf die richtige Versionsnummer einzutragen. Das ist eine Sache, die gerne vergessen wird.
Schritt 2: Code-Qualität prüfen
Gute Code-Qualität versteht sich von selbst. Trotzdem kann eine einfache, statische Code-Analyse hilfreich sein, beispielsweise über den PSScriptAnalyzer. Standardmäßig ist dieser nicht installiert. Holen Sie das nach.
Die Skript-Dateien können Sie mit dem folgenden Befehl analysieren:
Invoke-ScriptAnalyzer -Path .\PublishTestModule
Das sind nur die minimalen Qualitätsanforderungen. Microsoft beschreibt die Best Practices ausführlicher in seinen PowerShell Gallery Publishing Guidelines.
Schritt 3: API Key erstellen
Für die Veröffentlichung ist ein API Key erforderlich. Diesen können Sie hier erhalten, nachdem Sie sich mit einem Microsoft-Account bei PowerShell Gallery angemeldet haben.
Schritt 4: Veröffentlichung – Vorbereitung
Nachdem wir die Grundvoraussetzungen geschaffen haben, geht es jetzt ans Veröffentlichen. Nun ja – nicht ganz.
Denn es kann zu einem Fehler kommen, wenn PowerShellGet bei Ihnen nicht in einer aktuellen Version vorhanden ist. Das sieht beispielsweise so aus:
Um den Fehler zu vermeiden hilft es, die aktuelle Version zu installieren. Die Version überprüfen Sie mit folgendem Befehl:
Get-Module -Name PowerShellGet -ListAvailable
Standardmäßig ist mit Windows 10 die Version 1.0.0.1 dabei. Aktuell gilt Version 2.2.4 (Stand: 17. Juli 2020). Bevor Sie eine neue Version installieren, sollten Sie NuGet aktualisieren.
Install-PackageProvider -Name NuGet -Force
Danach können Sie PowerShellGet so updaten:
Install-Module -Name PowerShellGet -Force
Jetzt sollten mindestens zwei Versionen bei Get-Module
auftauchen:
-
-
- die alte Version 1.0.0.1
- und die neue Fassung
-
Bevor es weitergeht, bitte eine neue PowerShell-Sitzung öffnen.
Schritt 5: Die eigentliche Veröffentlichung
Das Publishen geschieht über den Befehl Publish-Module
. Damit Sie sehen, was passiert, geben Sie am besten noch den -Verbose
Parameter an.
Wenn Sie nicht ganz sicher sind, ob alles passt, können Sie den Befehl ohne Konsequenzen ausführen. Dafür geben Sie den Parameter-WhatIf
mit.
Achtung: Einmal veröffentlichte Module können nicht mehr gelöscht werden!
Publish-Module -Path .\PublishTestModule -NuGetApiKey $apiKey -Verbose
Schritt 6: Veröffentlichung prüfen
Um zu schauen, ob Ihr Modul erfolgreich veröffentlicht wurde, können Sie auf einem System, auf dem das Modul noch nicht vorhanden ist, das Modul über die PowerShell Gallery installieren.
Das geht so:
Install-Module -Name PublishTestModule
Haben Sie noch Fragen?
Ist Ihnen die Veröffentlichung einwandfrei gelungen? Oder haben Sie noch Fragen dazu? Kein Problem – kontaktieren Sie uns einfach!
Bilder: Pexels, Microsoft