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.

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:

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 Test