Modul für PowerShell Gallery erstellen

Um ein Modul für den Upload in die Microsoft PowerShell Gallery zu erstellen sind ein paar Schema einzuhalten. Meine grundlegende Vorgehensweise möchte ich hier für euch aufzeigen.

Als ertses ist natürlich auf eurem System PowerShell 5.0 erforderlich um die entsprechenden Commandlets überhaupt zu haben. Falls kein Windows 10 verwendet wird, kann das Windows Management Framework 5.0 für Windows 7 SP1 – 8.1 und Windows Server 2008 R2 SP1 – 2012 R2 heruntergeladen werden

Github Projekt für PowerShell Gallery Modul erstellen

Dies ist mein erster Schritt um ein Solches Projekt zu starten. Damit sind dann die URL und der FileSystem Pfad bekannt.

Wie das Projekt erzeugt wird ist grundlegend egal. Ich verwende den GitHub Desktop für Windows dazu.

PowerShell Gallery - Create GitHub Projekt

Create GitHub Projekt

In diesem Projekt lege ich noch meine übliche „LICENSE“ und „README.md“ an.

Das veröffentlichen des Projekts ist an dieser Stelle noch nicht erforderlich.

Struktur für PowerShell Gallery Modul erzeugen

Hierzu habe ich mir ein kleines Script verfasst:

 

Danach haben wir ein leeres Modul (*.psm1) sowie Helper-File an der korrekten Stelle und ein ausgefülltes ModulManifest (*.psd1).

Funktionen für PowerShell Gallery Modul Schreiben

In das *.psm1 kommen dann alle eure gewünschten Funktionen nach dem üblichen Schema. Hier ist ein guter Einstieg in das Erstellen eines PowerShell Modules: How to Write a PowerShell Script Module

So sieht mein spektakuläres Test-Modul aus:

 

Nachdem euer Modul gefüllt ist kann euer GitHub Projekt dann auch veröffentlicht werden. Hier ist mein Test-Projekt zu finden: PowerShell-Gallery-Test

PowerShell Gallery Modul veröffentlichen

Hierzu habe ich ebenfalls ein Kurzes Script verfasst:

 

Den API Key findet Ihr in eurem PowerShell Gallery Profil. Wenn Ihr noch keine Profil habt, ist das natürlich an dieser Stelle eine Voraussetzung.

Danach ist das Modul direkt in der PowerShell Gallery und auch via „Find-Module“ zu finden: PSGallery-Test

PowerShell Gallery Modul verwenden

Nach der Veröffentlichung stehen jedem Nutzer von PowerShell 5.0 die neuen genialen Funktionen in dem Modul zur Verfügung:

PowerShell Gallery Modul - Get-Awsome

Get-Awsome

Weitere Optimierungen für ein PowerShell Gallery Modul

Ich habe hier die Simpelste aller Varianten gewählt. Ein Modul kann natürlich wesentlich komplexer aufgebaut werden und auch besser verifiziert werden. In dem Blog Artikel Building a PowerShell Module von @psCookieMonster wird das Thema noch wesentlich ausführlicher behandelt.

Speziell ans Herz legen kann ich an dieser Stelle noch die Module PSScriptAnalyzer und Pester. Hiermit können viele Probleme und Fehler ausgeschlossen werden.

Simpler Pester Test

Hierzu muss ein Test definiert werden:

 

In diesem Fall wird das Installieren, Importieren des Moduls und das Ausführen einer Funktion im Modul getestet.

Invoke-Pester

Invoke-Pester Test

Leave a Reply