Zum Inhalt springen

Eigene Module bauen

Optional
Lernziele
  • Funktionen in einer .psm1-Datei bündeln
  • Ein Modulmanifest erzeugen und das Modul laden

Hast du Funktionen, die du immer wieder brauchst, packst du sie in ein Modul. Dann lädst du sie mit einem Befehl in jede Sitzung. Dieses Kapitel baut auf Funktionen und Parameterblöcke auf.

MyTools
├── MyTools.psm1 # der Code
└── MyTools.psd1 # Manifest: Name, Version, Autor, exportierte Funktionen

Das Manifest ist optional, aber für alles, was du weitergibst, Pflicht.

Terminal-Fenster
function Get-Greeting {
param(
[string]$Name = "Welt"
)
"Hallo, $Name!"
}
Export-ModuleMember -Function Get-Greeting
Terminal-Fenster
New-ModuleManifest -Path "C:\Kurs\Skripte\MyTools\MyTools.psd1" `
-RootModule "MyTools.psm1" `
-ModuleVersion "1.0.0" `
-Author "Dein Name" `
-Description "Funktionen für Begrüßungen" `
-FunctionsToExport "Get-Greeting"

-RootModule verbindet das Manifest mit dem Code. Ohne diesen Parameter lädt PowerShell die .psm1 nicht.

Terminal-Fenster
Import-Module "C:\Kurs\Skripte\MyTools" -Force
Get-Command -Module MyTools
Get-Greeting -Name "Max"

-Force lädt das Modul neu, wenn du es geändert hast.

  • Ein Modul ist ein Ordner mit .psm1 und (empfohlen) .psd1.
  • Export-ModuleMember und FunctionsToExport legen fest, was sichtbar ist.
  • Import-Module -Force lädt Änderungen nach.