Zum Inhalt springen

Module verwenden

Core
Lernziele
  • Module finden, installieren, laden und entfernen
  • Vertrauenswürdige Quellen einschätzen

PowerShell-Module sind Sammlungen von Funktionen, Cmdlets, Variablen und anderen Ressourcen, die in einer oder mehreren Dateien organisiert und als Einheit bereitgestellt werden. Module ermöglichen es dir, wiederverwendbaren Code zu strukturieren und zu verteilen – sei es als interne Lösung oder als öffentlich verfügbare Erweiterung.

Ein Modul ist ein Paket mit Cmdlets, Funktionen und anderen Bausteinen. Die meisten Cmdlets, die du bisher genutzt hast, kommen aus Modulen (Microsoft.PowerShell.Management für Get-Service, ActiveDirectory für Get-ADUser).

Terminal-Fenster
Get-Module # aktuell geladene Module
Get-Module -ListAvailable # alle installierten Module
Get-Command -Module ActiveDirectory

PowerShell lädt installierte Module automatisch, sobald du eines ihrer Cmdlets aufrufst. Import-Module brauchst du meist nur, um es früher oder gezielt zu laden:

Terminal-Fenster
Import-Module ActiveDirectory
Remove-Module ActiveDirectory

Die PowerShell Gallery ist die zentrale Quelle für Community- und Microsoft-Module.

Terminal-Fenster
Find-PSResource -Name Microsoft.PowerShell.SecretManagement # Suchen
Install-PSResource -Name Microsoft.PowerShell.SecretManagement # Installieren

Find-PSResource und Install-PSResource gehören zum neuen PSResourceGet und sind in PowerShell 7.4 und neuer enthalten. Die älteren Cmdlets Find-Module und Install-Module (PowerShellGet) funktionieren weiterhin und begegnen dir in vielen Anleitungen:

Terminal-Fenster
Find-Module -Name Microsoft.PowerShell.SecretManagement
Install-Module -Name Microsoft.PowerShell.SecretManagement -Scope CurrentUser

Beim ersten Mal fragt PowerShell, ob du dem Repository „PSGallery” vertraust. Lies die Frage, bevor du sie bestätigst.

Module können aus internen Repositories, von GitHub oder aus lokalen Ordnern kommen. In Unternehmen sind eigene Repositories üblich. Das Kapitel Module offline installieren zeigt die Variante ohne Internet.

  • Herkunft: Installiere Module nur von vertrauenswürdigen Herausgebern. Ein Modul führt Code mit deinen Rechten aus.
  • Version: Get-Module -ListAvailable -Name X | Select-Object Name, Version. Mit Update-Module oder Update-PSResource aktualisierst du.
  • Abhängigkeiten: Manche Module brauchen bestimmte PowerShell-Versionen oder andere Module.
  • Windows PowerShell vs. PowerShell 7: Module liegen in getrennten Ordnern. Ältere Module laufen nur in 5.1. PowerShell 7 versucht, sie über eine Kompatibilitätsschicht zu laden. Du kannst das auch erzwingen: Import-Module X -UseWindowsPowerShell.
  • Module bündeln Cmdlets. Installierte Module lädt PowerShell bei Bedarf automatisch.
  • Aus der PSGallery installierst du mit Install-PSResource oder Install-Module.
  • Prüfe Herkunft, Version und Kompatibilität.