Installieren von PowerShellGet unter Windows

Wichtig

Windows PowerShell 5.1 wird mit der vorinstallierten Version 1.0.0.1 von PowerShellGet vertrieben. Diese Version von PowerShellGet weist eingeschränkte Funktionen auf und unterstützt nicht die aktualisierten Funktionen aus dem PowerShell-Katalog. Damit PowerShellGet unterstützt wird, müssen Sie ein Update auf die neueste Version ausführen.

PowerShell 6.0 wurde mit Version 1.6.0 von PowerShellGet vertrieben. PowerShell 7.0 wurde mit Version 2.2.3 von PowerShellGet vertrieben. Die aktuelle unterstützte Version von PowerShellGet ist 2.2.5. Wenn Sie Windows PowerShell 5.1 ausführen, müssen Sie eine neuere Version installieren.

Für optimale Ergebnisse sollten Sie immer die neueste unterstützte Version installieren.

Aktualisieren der vorinstallierten Version von PowerShellGet

Das PowerShellGet-Modul enthält Cmdlets zum Installieren und Aktualisieren von Modulen:

  • Install-Module installiert die neueste Version eines Moduls (keine Vorabversion).
  • Update-Module installiert die neueste Version eines Moduls (keine Vorabversion), wenn diese neuer als das aktuell installierte Modul ist. Dieses Cmdlet funktioniert jedoch nur, wenn die vorherige Version mithilfe von Install-Module installiert wurde.

Zum Aktualisieren des vorinstallierten Moduls müssen Sie Install-Module verwenden. Nachdem Sie die neue Version aus dem PowerShell-Katalog installiert haben, können Sie Update-Module verwenden, um neuere Versionen zu installieren.

Aktualisieren von PowerShellGet für Windows PowerShell 5.1

Systemanforderungen

  • Für PowerShellGet ist .NET Framework 4.5 oder höher erforderlich. Weitere Informationen finden Sie unter Installieren von .NET Framework für Entwickler.

  • Um auf den PowerShell-Katalog zuzugreifen, müssen Sie Transport Layer Security (TLS) 1.2 oder höher verwenden. Standardmäßig ist PowerShell nicht für die Verwendung von TLS 1.2 konfiguriert. Verwenden Sie den folgenden Befehl, um TLS 1.2 in Ihrer PowerShell-Sitzung zu aktivieren.

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

    Außerdem empfiehlt es sich, diese Codezeile zu Ihrem PowerShell-Profilskript hinzuzufügen. Weitere Informationen zu Profilen finden Sie unter about_Profiles.

Installieren der neuesten Version von PowerShellGet

Windows PowerShell 5.1 enthält PowerShellGet, Version 1.0.0.1, das den NuGet-Anbieter nicht enthält. PowerShellGet benötigt den Anbieter beim Arbeiten mit dem PowerShell-Katalog.

Hinweis

Die folgenden Befehle müssen in einer PowerShell-Sitzung mit erhöhten Rechten ausgeführt werden. Klicken Sie mit der rechten Maustaste auf das PowerShell-Symbol, und wählen Sie Als Administrator ausführen aus, um eine Sitzung mit erhöhten Rechten zu starten.

Es gibt zwei Möglichkeiten, den NuGet-Anbieter zu installieren:

  • Verwenden Sie Install-PackageProvider, um NuGet zu installieren, bevor andere Module installiert werden

    Führen Sie den folgenden Befehl aus, um den NuGet-Anbieter zu installieren.

    Install-PackageProvider -Name NuGet -Force
    

    Nachdem Sie den Anbieter installiert haben, sollten Sie jedes der PowerShellGet-Cmdlets mit dem PowerShell-Katalog verwenden können.

  • Lassen Sie sich von Install-Module zur Installation des NuGet Anbieters auffordern

    Der folgende Befehl versucht, das aktualisierte PowerShellGet-Modul ohne den NuGet-Anbieter zu installieren.

    Install-Module PowerShellGet -AllowClobber -Force
    

    Install-Module fordert Sie auf, den NuGet-Anbieter zu installieren. Geben Sie Y (J) ein, um den Anbieter zu installieren.

    NuGet provider is required to continue
    PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based
    repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies'
    or 'C:\Users\user1\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet
    provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you
    want PowerShellGet to install and import the NuGet provider now?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
    VERBOSE: Installing NuGet provider.
    

Hinweis

Wenn Sie TLS 1.2 nicht konfiguriert haben, schlagen alle Versuche zum Installieren des NuGet Anbieters und anderer Pakete fehl.

Nach dem Installieren von PowerShellGet

Nachdem Sie die neue Version von PowerShellGet installiert haben, sollten Sie eine neue PowerShell-Sitzung öffnen. PowerShell lädt automatisch die neueste Version des Moduls, wenn Sie ein PowerShellGet-Cmdlet verwenden.

Außerdem empfiehlt es sich, den PowerShell-Katalog als vertrauenswürdiges Repository zu registrieren. Verwenden Sie den folgenden Befehl:

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Weitere Informationen finden Sie unter Set-PSRepository.