Erste Schritte mit der PowerShell Gallery

Die PowerShell Gallery ist das ultimative Ziel für alle Ihre PowerShell-Bedürfnisse, egal ob Sie Anfänger oder erfahrener Benutzer sind. Und die gute Nachricht ist, dass es eine umfangreiche Sammlung von Dokumentationen, Skripten, Modulen und anderen Ressourcen gibt, die von der PowerShell-Community erstellt wurden.

In diesem Tutorial lernen Sie, Ressourcen aus der PowerShell Gallery zu finden, herunterzuladen und zu installieren.

Bleiben Sie dran und verbessern Sie noch heute Ihr Skripting-Spiel!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Um mitzumachen, stellen Sie sicher, dass Sie ein System mit PowerShell 5.1 oder neuer installiert haben. Dieses Tutorial verwendet Windows 10 mit PowerShell 5.3, aber andere Versionen von Windows und PowerShell sollten ebenfalls funktionieren.

Installation des .NET Frameworks

Bevor Sie in die PowerShell Gallery eintauchen, benötigen Sie zunächst eine Möglichkeit, mit der PowerShell Gallery zu interagieren, und das .NET Framework ist der primäre Weg.

Sie müssen zuerst das .NET Framework installieren, das für das PowerShellGet-Modul unerlässlich ist. Das PowerShellGet-Modul erfordert mindestens .NET Framework v4.5+. Das PowerShellGet-Modul ermöglicht es Ihnen, PowerShell-Artefakte zu entdecken, zu installieren, zu aktualisieren und zu veröffentlichen.

Aber in diesem Tutorial werden Sie das .NET Framework v4.8 installieren.

? Beachten Sie, dass das .NET Framework v4.8 möglicherweise bereits auf Ihrem System installiert ist. Wenn ja, können Sie diesen Schritt überspringen. Wenn Sie jedoch eine ältere Version des .NET Frameworks haben, deinstallieren Sie es und aktualisieren Sie auf eine neuere Version.

Um das .NET Framework zu installieren, befolgen Sie diese Schritte:

1. Öffnen Sie Ihren bevorzugten Webbrowser und navigieren Sie zur offiziellen Downloadseite des .NET Frameworks.

2. Klicken Sie anschließend auf den Download .NET Framework 4.8 Developer Pack-Link, um eine Datei ähnlich wie ndp48-devpack-enu herunterzuladen. Diese Datei ist das Installationspaket für das .NET Framework Version 4.8.

Downloading .NET Framework 4.8

3. Warten Sie, bis der Download abgeschlossen ist, und doppelklicken Sie dann auf die heruntergeladene Datei, um den .NET Framework-Installer zu starten.

Launching the .NET Framework installer

?Wenn Sie Probleme beim Installieren des .NET Frameworks haben, versuchen Sie, die Installationsdatei im [Kompatibilitätsmodus] auszuführen

4. Aktivieren Sie das Kontrollkästchen unten, um die Lizenzbedingungen zu akzeptieren, und klicken Sie auf die Schaltfläche Installieren, um das .NET Framework 4.8 zu installieren.

Accepting the license terms and conditions

Unten sehen Sie den Installationsfortschritt, der je nach Konfiguration Ihres Systems einige Minuten dauern kann.

Viewing the installation progress

5. Klicken Sie nun auf die Schaltfläche Schließen, um den Installer zu schließen, sobald die Installation abgeschlossen ist.

Finishing the .NET Framework installation

6. Öffnen Sie zuletzt PowerShell als Administrator und führen Sie den folgenden [Start-Process]-Befehl aus, um die App „Programme hinzufügen oder entfernen“ (appwiz.cpl) zu öffnen. Mit dieser App können Sie eine Liste der installierten Programme auf Ihrem System anzeigen.

Start-Process "appwiz.cpl”

Sie werden Einträge für das .NET Framework 4.8 in der Liste der installierten Programme sehen, wie unten gezeigt.

Verifying the .NET Framework 4.8 installation

Installation des PowerShellGet-Moduls

Mit dem installierten und ausgeführten .NET Framework können Sie nun das Kernkomponente der PowerShell Gallery, das PowerShellGet-Modul, installieren.

Die vorinstallierte Version von PowerShellGet (1.0.0.1) in Windows PowerShell 5.1 verfügt über begrenzte Funktionen. Wenn Sie Windows PowerShell 5.1 oder älter verwenden, sollten Sie die aktualisierten Möglichkeiten der PowerShell Gallery in Betracht ziehen. Die neueste Version ist 3.0.17-beta17 zum Zeitpunkt dieses Schreibens.

Um das PowerShellGet-Modul zu installieren, befolgen Sie die folgenden Schritte:

1. Führen Sie den folgenden Befehl aus, der keine Ausgabe erzeugt, aber Transport Layer Security (TLS) 1.2 in Ihrer PowerShell-Sitzung aktiviert. TLS ist ein Sicherheitsprotokoll, das die über das Internet übertragenen Daten verschlüsselt.

Die Aktivierung von TLS 1.2 ist entscheidend, da PowerShell standardmäßig nicht auf die Verwendung von TLS 1.2 konfiguriert ist. Dieser Befehl setzt das SecurityProtocol für das System.Net.ServicePointManager-Objekt auf TLS 1.2 (Tls12). Dadurch erhalten Sie Zugriff auf die PowerShell Gallery mit TLS 1.2 oder höher.

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

? Beachten Sie, dass diese Änderung nur für die aktuelle PowerShell-Sitzung gilt. Sie können jedoch PowerShell so konfigurieren, dass es immer TLS 1.2 verwendet, indem Sie den obigen Befehl zu Ihrem PowerShell-Profil hinzufügen.

Als nächstes führen Sie den Befehl Install-PackageProvider unten aus, um den NuGet-Paketanbieter zu installieren. Der NuGet-Paketanbieter ermöglicht es Ihnen, Pakete aus dem NuGet-Paketrepository zu installieren und zu verwalten. Dieses Repository ist ein zentrales Repository für Open-Source-Pakete für die .NET-Plattform.

Der NuGet-Paketanbieter ist erforderlich, bevor Sie das [Install-Module]-Cmdlet verwenden können, um Module aus der PowerShell-Galerie zu installieren. Warum? Viele der Module in der PowerShell-Galerie werden als NuGet-Pakete verteilt.

Install-PackageProvider -Name NuGet -Force
Installing the NuGet package provider

Nach der Installation können Sie nun von der NuGet-API profitieren. Die NuGet-API ermöglicht es Ihnen, auf das NuGet-Paketrepository zuzugreifen, um Tools und Anwendungen zu erstellen, die mit dem NuGet-Paketrepository interagieren können. Wie interagieren? Führen Sie verschiedene Aufgaben aus, wie z. B. das Suchen, Installieren und Aktualisieren von Paketen.

Allgemein gibt es zwei Versionen der NuGet-API, die Sie je nach Ihren Anforderungen und den Möglichkeiten Ihres Clients und Servers verwenden können.

Version Description Usage
v2 Uses XML as the data format for communication between the client and server.

This version is based on the original NuGet API introduced in 2011 and is the legacy version of the API.

The v2 API is recommended if you use an older version of NuGet or a client or server that does not support the v3 API.

This version is supported by all versions of NuGet and is compatible with older clients and servers.

v3 Uses JSON as the data format for communication between the client and server. This version was introduced in 2013 as an improvement over the v2 API and included many new features and improvements.

Many new features included are support for side-by-side package installation, improved search capabilities, and large package support.

The v3 API is recommended if you use a newer NuGet version. The v3 API is faster and more efficient than the v2 API.

This version is not supported by older versions of NuGet and may not be compatible with older clients and servers.

? Allgemein wird die NuGet-API v3 empfohlen, da sie die aktuellsten Funktionen und Fähigkeiten bietet.

3. Führen Sie den folgenden Set-PSRepository-Befehl aus, der keine Ausgabe liefert, sondern Ihr PowerShell Gallery (PSGallery)-Repository als vertrauenswürdige Paketquelle festlegt. Dadurch können Sie Module aus der PowerShell Gallery installieren.

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -ErrorAction Stop

4. Führen Sie nun den folgenden Install-Module-Befehl aus, um die neueste Version (-AllowPrerelease) des PowerShellGet-Moduls zu installieren.

Install-Module -Name PowerShellGet -AllowPrerelease -Force
Installing the latest version of PowerShellGet

5. Führen Sie schließlich den folgenden Get-InstalledModule-Befehl aus, um zu überprüfen, ob das PowerShellGet-Modul erfolgreich installiert wurde.

Get-InstalledModule PowerShellGet

Sie sehen das PowerShellGet-Modul unten aufgeführt, wie unten gezeigt, mit PSGallery als Repository, wenn es erfolgreich installiert wurde.

Verifying the PowerShellGet module installation

Module aus der PowerShell Gallery entdecken

Nachdem Sie das PowerShellGet-Modul installiert haben, können Sie nach Modulen in der PowerShell Gallery suchen und sie installieren. Dadurch können Sie die Möglichkeiten Ihrer PowerShell-Umgebung erweitern und komplexe Aufgaben effizienter automatisieren.

Um nach einem Modul im PowerShell Gallery zu suchen, können Sie das Find-Module-Cmdlet verwenden. Dieses Cmdlet durchsucht den PowerShell Gallery nach Modulen, die bestimmten Suchkriterien entsprechen, wie z. B. Modulname, Version oder Tag.

1. Führen Sie den Find-Module-Befehl unten aus, um den PowerShell Gallery nach Modulen mit Namen zu durchsuchen, die AzureRM entsprechen.

Find-Module -Name AzureRM

Die Ausgabe unten zeigt nur ein Modul mit dem Namen AzureRM im PowerShell Gallery an. Sie können auch grundlegende Informationen zu jedem Modul wie seinen Namen, seine Version, sein Repository usw. sehen.

Discovering modules from the PowerShell Gallery

2. Führen Sie als nächstes einen der folgenden Befehle aus, um nach Modulen mit einem -Tag und dem Schlüsselwort Azure zu suchen. Der -Tag-Parameter ist nicht Groß-/Kleinschreibung, sodass Sie azure oder Azure als Tag-Schlüsselwort verwenden können.

Warum Tags für ein Modul verwenden? Ein Tag ist ein Schlüsselwort oder Label, das einem Modul zugeordnet ist und seinen Inhalt und seine Funktionalität im PowerShell Gallery beschreibt.

Zum Beispiel, wenn ein Modul mit der Azure-Cloud-Plattform zusammenhängt, können Sie das Schlüsselwort Azure taggen. Dadurch können Benutzer, die an Azure-bezogenen Ressourcen interessiert sind, das Modul leicht finden und entdecken, indem sie nach dem Tag Azure suchen.

Find-Module -Tag 'Azure'
Find-Module -Tag 'azure'

Die PowerShell Gallery ist ein umfangreiches Repository von Ressourcen, die von einer Vielzahl von Autoren beigesteuert werden, und es gibt viele Module, die mit beliebten Schlüsselwörtern wie Azure zusammenhängen.

Als Ergebnis sehen Sie eine lange Liste von Modulen, die Ihrem Schlüsselwort oder Tag entsprechen, wie in den folgenden Screenshots.

Searching for modules in the PowerShell Gallery using a tag

? Sie können auch Tags verwenden, um verwandte Module zu gruppieren und verwandte Ressourcen schneller zu finden. Verwenden Sie beispielsweise den Tag Virtualization, um Module zu gruppieren, die sich mit Virtualisierungstechnologien wie Hyper-V oder VMware befassen.

3. Führen Sie nun den folgenden Befehl aus, um Ihre Suche einzugrenzen und ein bestimmtes Modul zu finden, indem Sie die Parameter im Find-Module-Cmdlet kombinieren.

Der folgende Befehl findet ein Modul aus der PowerShell Gallery unter Berücksichtigung der folgenden Parameter:

  • -Name – Suchen Sie nach Modulen mit einem bestimmten Namen Az.Compute.

  • -Tag – Suchen Sie nach Modulen mit den Tags Azure und Microsoft.
Find-Module -Name 'Az.Compute' -Tag 'Azure', 'Microsoft’
Filtering module search results

Installation und Aktualisierung von Modulen

Sobald Sie ein Modul gefunden haben, an dem Sie interessiert sind, ist die Installation dieses Moduls nur wenige Tastatureingaben entfernt. Sie können das Install-Module-Cmdlet verwenden, um Module aus der PowerShell Gallery herunterzuladen und auf Ihrem lokalen System zu installieren.

1. Führen Sie den folgenden Befehl aus, um das Modul Az.Compute aus der PowerShell Gallery herunterzuladen und zu installieren.

Wenn der Befehl erfolgreich ist, wird keine Ausgabe erzeugt. Sie werden die Installation im nächsten Schritt überprüfen.

Install-Module -Name 'Az.Compute'

2. Führen Sie anschließend den folgenden Befehl Get-InstalledModule aus, um das Modul Az.Compute auf Ihrem System zu überprüfen.

Get-InstalledModule -Name 'Az.Compute'
Verifying a module installation

? Alternativ können Sie den Befehl Get-InstalledModule ohne Parameter ausführen, um eine Liste aller installierten Module auf Ihrem System anzuzeigen. Seien Sie jedoch vorsichtig, denn wenn zu viele Module installiert sind, könnte das Scrollen durch die Liste anstrengend für die Augen sein.

Listing all installed modules

3. Führen Sie nun den folgenden Befehl Update-Module aus, um nach der neuesten Version eines bestimmten Moduls (z. B. Az.Compute) zu suchen und es zu aktualisieren.

Die Aktualisierung installierter Module kann Fehlerbehebungen, neue Funktionen oder andere Verbesserungen umfassen.

Update-Module -Name Az.Compute

Deinstallation von PowerShell-Modulen

Es kann vorkommen, dass Sie ein Modul von Ihrem System entfernen möchten. Zum Beispiel, wenn Sie ein Modul nicht mehr benötigen oder es Probleme verursacht.

Um ein Modul von Ihrem System zu deinstallieren, können Sie den Befehl Uninstall-Module verwenden. Dieser Befehl entfernt ein Modul und alle zugehörigen Dateien von Ihrem System und deinstalliert es effektiv.

? Stellen Sie sicher, dass Sie die Auswirkungen der Deinstallation eines Moduls sorgfältig abwägen, bevor Sie fortfahren. Das Deinstallieren eines Moduls kann unbeabsichtigte Folgen haben, wie das Unterbrechen anderer Programme oder Skripte, die von dem Modul abhängen.

Führen Sie den folgenden Uninstall-Module-Befehl aus, um ein bestimmtes Modul (Az.Compute) von Ihrem System zu deinstallieren. Dieser Befehl gibt keine Ausgabe aus, wenn die Deinstallation erfolgreich ist.

Uninstall-Module -Name Az.Compute

? Wenn andere Programme oder Skripte das Modul derzeit verwenden, gibt der Befehl Uninstall-Module einen Fehler aus und die Deinstallation schlägt fehl.

Zusammenfassung

PowerShell-Module sind leistungsstarke Tools, mit denen Sie schnell Funktionalität zu Ihrer PowerShell-Umgebung hinzufügen können. In diesem Tutorial haben Sie gelernt, wie Sie mit Hilfe der PowerShell Gallery Module entdecken und installieren können.

Nutzen Sie die PowerShell Gallery und suchen Sie nach PowerShell-Modulen, um Ihre PowerShell-Skripte und Workflows anzupassen und zu verbessern!

Source:
https://adamtheautomator.com/powershell-gallery/