Erstellen von Modulen in Windows PowerShell-Skripts

Abgeschlossen

Sie können Module erstellen, um Funktionen zu speichern und diese Funktionen in verschiedenen Skripts zu verwenden. Nachdem Sie Ihre Funktionen in Module eingefügt haben, sind sie genauso auffindbar wie Cmdlets. Außerdem werden die von Ihnen erstellten Module (wie die in Windows enthaltenen Module) automatisch geladen, wenn eine Funktion benötigt wird.

Hinweis

Als bewährte Methode sollten Sie Ihre Funktionen in Modulen mit einer Namensstruktur benennen, die der Namenskonvention für Cmdlets ähnelt. Sie könnten z. B. das Verb-Nomen-Format verwenden.

Hinweis

Funktionen in Modulen können kommentarbasierte Hilfe enthalten, die mithilfe von Get-Help auffindbar ist. Um dies zu unterstützen, müssen Sie die Hilfeinformationen in jede Funktion einfügen.

In vielen Fällen sind Ihre Funktionen bereits in einer Windows PowerShell-Skriptdatei enthalten. Um eine Skriptdatei zu konvertieren, die nur Funktionen in ein Modul enthält, benennen Sie sie mit der Dateierweiterung PSM1 um. Es sind keine strukturellen Änderungen in der Datei erforderlich.

Windows PowerShell verwendet die Umgebungsvariable $PSModulePath, um die Pfade zu definieren, aus denen Module geladen werden. In Windows PowerShell 5.0 werden die folgenden Pfade aufgelistet:

  • C:\Users\UserID\Documents\WindowsPowerShell\Modules
  • C:\Programme\WindowsPowerShell\Modules
  • C:\Windows\System32\WindowsPowerShell\1.0\Modules

Windows PowerShell 7 enthält die folgenden anderen Pfade:

  • C:\Programme\PowerShell\Modules
  • C:\Programme\PowerShell\7\Modules

Hinweis

Wenn Sie Module in C:\Users\UserID\Document\WindowsPowerShell\Modules speichern, sind sie nur für einen einzelnen Benutzer verfügbar.

Module werden nicht direkt im Modulverzeichnis platziert. Vielmehr müssen Sie einen Unterordner mit demselben Namen wie die Datei erstellen und die Datei in diesem Ordner speichern. Wenn Sie beispielsweise über ein Modul namens "AdatumFunctions.psm1" verfügen, platzieren Sie es in "C:\Programme\WindowsPowerShell\Modules\AdatumFunctions".