Übersicht über das PowerShellGet-Modul in Windows PowerShell

Abgeschlossen

Das Modul PowerShellGet enthält Cmdlets für den Zugriff auf und die Veröffentlichung von Elementen im PowerShell-Katalog. Dieses Modul wurde in Windows Management Framework 5.0 eingeführt, das in Windows 10 und Windows Server 2016 enthalten ist. Sie können für ältere Windows-Betriebssysteme Upgrades durchführen, um Windows Management Framework 5.0 oder höher einzuschließen und so das Modul PowerShellGet abzurufen. Wenn Sie kein Upgrade auf Windows Management Framework 5.0 nicht durchführen können, verwenden Sie das MSI-Installationsprogramm für PowerShellGet, das Sie auf Systemen mit Windows PowerShell 4.0 verwenden können.

Wenn Sie die Cmdlets im PowerShellGet-Modul zum ersten Mal verwenden, werden Sie aufgefordert, den NuGet-Anbieter zu installieren. NuGet ist ein Paket-Manager, der Pakete unter Windows abrufen und installieren kann. Die Cmdlets im Modul PowerShellGet verwenden die Funktionalität in NuGet, um mit dem PowerShell-Katalog zu interagieren.

In der folgenden Tabelle sind die beiden Cmdlets aufgeführt, die am häufigsten zum Suchen von Inhalten im PowerShell-Katalog verwendet werden.

Tabelle 1: Cmdlets zum Suchen von Inhalten im PowerShell-Katalog verwendet werden

Cmdlet BESCHREIBUNG
Find-Module Verwenden Sie dieses Cmdlet, um im PowerShell-Katalog nach Windows PowerShell-Modulen zu suchen. Die einfachste Anwendung führt Suchvorgänge basierend auf dem Modulnamen durch. Sie können aber auch basierend auf dem Befehlsnamen, der Version, DscResource und RoleCapability suchen.
Find-Script Verwenden Sie dieses Cmdlet, um im PowerShell-Katalog nach Windows PowerShell-Skripts zu suchen. Die einfachste Anwendung führt Suchvorgänge basierend auf dem Skriptnamen durch, Sie können aber auch basierend auf der Version suchen.

Weitere Lektüre: Sie können auch im PowerShell-Katalog nach Modulen und Skripts suchen.

TLS 1.2

Der PowerShell-Katalog erfordert die Verwendung von TLS 1.2 (Transport Layer Security), um die Kommunikation zu sichern. Windows 10 und Windows Server 2016 unterstützen standardmäßig nicht die Verwendung von TLS 1.2 in Windows PowerShell. Sie müssen also TLS 1.2 aktivieren, um PowerShell-Kataloginhalte herunterzuladen.

Führen Sie den folgenden Befehl aus, um TLS 1.2 für die aktuelle PowerShell-Eingabeaufforderung zu aktivieren:

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

Um dieses Problem dauerhaft auf einem Computer zu beheben, müssen Sie Registrierungsschlüssel erstellen. Sie können die folgenden beiden Befehle ausführen, um die erforderlichen Schlüssel zu erstellen:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319'-Name 'SchUseStrongCrypto' -Value '1' -Type DWord
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

Sie können einen privaten PowerShell-Katalog für Ihre Organisation implementieren, indem Sie Ihren eigenen NuGet-Feed erstellen. Sie können einen NuGet-Feed mit einer Dateifreigabe oder einer webbasierten Anwendung erstellen. Wenn Sie über einen privaten PowerShell-Katalog verfügen, müssen Sie den NuGet-Feed mithilfe des Cmdlets Register-PSRepository registrieren und den Quellspeicherort angeben. Nachdem das Repository registriert wurde, können Benutzer*innen es genau wie den PowerShell-Katalog durchsuchen.

Weitere Lektüre: Weitere Informationen zum Erstellen eines NuGet-Feeds finden Sie unter Hosting eigener NuGet-Feeds.