Wie kann ich in PowerShell ein Modul entfernen?
- Einleitung zum Entfernen von Modulen in PowerShell
- Unterschied zwischen Entfernen des geladenen Moduls und Deinstallieren eines Moduls
- Entfernen eines geladenen Moduls aus der aktuellen PowerShell-Sitzung
- Deinstallieren eines Moduls vom System
- Zusammenfassung
Einleitung zum Entfernen von Modulen in PowerShell
In PowerShell spielen Module eine zentrale Rolle, da sie zusätzliche Funktionen und Cmdlets bereitstellen, die nicht standardmäßig verfügbar sind. Es kann Situationen geben, in denen ein Modul nicht mehr benötigt wird oder entfernt werden soll, beispielsweise zur Fehlerbehebung oder um eine saubere Arbeitsumgebung zu gewährleisten. Deshalb stellt sich die Frage, wie man ein Modul in PowerShell richtig entfernt.
Unterschied zwischen Entfernen des geladenen Moduls und Deinstallieren eines Moduls
Bevor wir auf die Vorgehensweise beim Entfernen eines Moduls eingehen, ist es wichtig, den Unterschied zu verstehen, den PowerShell zwischen Entladen eines Moduls und Deinstallieren eines Moduls macht. Das Entladen eines Moduls bedeutet, dass das Modul aus der aktuellen PowerShell-Sitzung entfernt wird, sodass die enthaltenen Funktionen und Cmdlets nicht mehr verfügbar sind. Die Dateien des Moduls bleiben jedoch auf dem System erhalten und können in zukünftigen Sitzungen erneut geladen werden.
Das Deinstallieren eines Moduls hingegen entfernt die Modul-Dateien dauerhaft vom Computer und stellt sicher, dass das Modul in zukünftigen Sitzungen nicht mehr verfügbar ist, es sei denn, es wird neu installiert. Diese Unterscheidung ist entscheidend, um Missverständnisse zu vermeiden.
Entfernen eines geladenen Moduls aus der aktuellen PowerShell-Sitzung
Soll ein Modul lediglich aus der laufenden Sitzung entfernt werden, kann der Befehl Remove-Module verwendet werden. Dabei ist es wichtig, den Namen des zu entfernenden Moduls korrekt anzugeben. Wenn beispielsweise das Modul Az.Accounts aus der Sitzung entfernt werden soll, wird folgender Befehl ausgeführt:
Remove-Module -Name Az.AccountsWichtig zu wissen ist, dass Remove-Module nur die aktuelle Sitzung betrifft. Beim nächsten Start von PowerShell ist das Modul wieder verfügbar, sofern es nicht zusätzlich deinstalliert wurde.
Deinstallieren eines Moduls vom System
Möchte man ein Modul dauerhaft vom System entfernen, muss das Modul deinstalliert werden. Dabei gibt es in PowerShell ab Version 5.0 den Cmdlet Uninstall-Module. Dieses Cmdlet entfernt die Modul-Dateien aus dem Installationsordner, typischerweise aus einem Ordner im Benutzerprofil oder dem Systemordner.
Uninstall-Module -Name PesterDabei muss darauf geachtet werden, dass die PowerShell-Sitzung mit administrativen Rechten ausgeführt wird, wenn das Modul systemweit installiert wurde. Zudem muss sichergestellt sein, dass das Modul geladen oder in Benutzung ist, da ansonsten eventuell Fehler auftreten können.
Zusammenfassung
Das Entfernen eines Moduls in PowerShell kann man auf zwei Arten definieren: das Entfernen aus der aktuellen Sitzung oder das vollständige Deinstallieren vom System. Mit Remove-Module wird ein Modul aus der aktiven Sitzung entfernt, ohne die Dateien zu löschen. Mit Uninstall-Module wird das Modul komplett vom System entfernt. Die Wahl des Befehls hängt davon ab, ob man nur temporär oder dauerhaft ein Modul nicht mehr verwenden möchte.
