Zum Hauptinhalt springen

Module installieren mit dem Powershell Package Manager

Seit Powershell 5 können Sie Module auch über den Powershell Package Manager installieren. Der Powershell Package-Manager erlaubt Ihnen Herunterladen und Installieren von Modulen aus zentralen Speichern, den sogenannten Repositories. Wenn Sie kein spezielles Repository angeben, verwendet der Package-Manager die Powershell-Gallery von Microsoft, die aktuell über 5000 Module und Erweiterungen bereitstellt und von jedem verwendet werden kann.

Vor der ersten Verwendung des Package-Managers muss NuGet installiert werden. NuGet ist ebenfalls ein Paket-Manager, der ursprünglich für Visual Studio entwickelt wurde, und die Basis für den Powershell Package-Manager darstellt. Entweder lassen Sie Powershell die Installation automatisch beim ersten Aufrufen eines der Packetmanager-Cmdlets ausführen, oder Sie können NuGet vorab installieren:

Install-PackageProvider -Name NuGet -Force

Um Module in einem Repository zu suchen, nutzen Sie Find-Module. Find-Module kann nach Namen suchen, aber auch nach Tags, die beim Bereitstellen des Moduls mit angegeben werden können.

Find-Module -Name *             # alle Module des Repository anzeigen lassen 
Find-Module -Name ntfs          # Alle Module mit ntfs im Namen anzeigen
Find-Module -Tag DSCResourceKit # mit DSCResourcekit getaggte Module anzeigen
Find-Module -Tag DSCResourceKit | Save-Module -Path c:\temp\dsc

Um ein Modul zu installieren, verwendet man Install-Module. Install-Module benötigt mindestens den Namen des zu installierenden Moduls. Optional kann man auch eine minimale Versionsnummer angeben, die heruntergeladen werden soll. Gibt man keine Versionsnummer an, installiert der Package-Manager immer die neueste Version.

Install-Module -Name NTFSSecurity -RequiredVersion 4.2.3

Die Installation findet standardmässig in %programFiles%\WindowsPowershell\Modules statt, also den Modulordner für alle Benutzer des Rechners. Der Package-Manager kann das Modul aber auch für den angemeldeten Benutzer installieren – es landet dann im Modulordner des Benutzers unter %userprofile%\Documents\WindowsPowershell\Modules. Verwenden Sie hierfür den Parameter Scope von Install-Module:

Install-Module -Name NTFSSecurity -Scope CurrentUser

Um sich alle installierten Module anzeigen zu lassen, verwenden Sie Get-InstalledModule, um installierte Module zu aktualisieren Update-Module. Achten Sie aber darauf, dass Sie nur Module aktualisieren können, die Sie über Install-Module bereitgestellt haben!

Get-InstalledModule Update-Module -Name *

Der Powershell-Paketmanager ist selbst ein Powershell-Modul. Manche Module benötigen für die Installation eine neuere Version des Paketmanagers. Bevor er über Update-Module auf dem neuesten Stand gebracht werden kann, muss er aber erst einmal über den Package-Manager installiert werden. Der Name des Moduls lautet PowershellGet.

Install-Module -Name PowershellGet

Da die Modul-Installation tatsächlich nur aus dem Download mit anschließendem Entpacken besteht, kann ein installiertes Modul schadlos durch Löschen des Ordners entfernt werden. Alternativ können Sie aber auch das Cmdlet Remove-Module verwenden.

Remove-Module -Name NTFSSecurity

Mehr zum Thema Powershell Gallery finden Sie im Artikel Getting Started with the PowerShell Gallery.

 

 
 
 
Remove-Module -Name NTFSSecurity