Kein blindes Vertrauen
Ein Repository ist ein Aufbewahrungsort, eine zentrale Ablage für Daten, Programme, Dokumente usw. Man kann darunter auch ein Archiv mit Versionsverwaltung verstehen.
Vertrauenswürdige Repository in PowerShell hinzufügen
In diesem Artikel möchte ich auf die Installation eines Moduls eingehen, welches zur Verwaltung von Exchange Online eingsetzt wird.
Im Grunde verschmelze ich hier bereits 2 vorhandene Artikel miteinander.
Das besondere hierbei ist, das ich davor warnen möchte, nicht jedes Repository als vertrauenswürdig einzustufen. Ich finde es vom Grundsatz her besser, immer daran erninnert zu werden, woher man seine Powershell-Module bezieht. Auch sollte nicht jedes Modul welches man in die Finger bekommt, installiert werden.
Warnhinweise sind Pointer, die auf eine schlechte Erfahrung hindeuten. 😉
Angenommen wir möchten das EXO V2-Modul namens “ExchangeOnlineManagement” installieren und wissen nicht, aus welcher Repository wir das Modul beziehen können, dann gehen wir wie folgt vor. Dieser Befehl gibt das Repository “PSGallery” aus.
Find-Module ExchangeOnlineManagement
So lange ein Repository nicht als vertrauenswürdig eingestuft ist, wird bei der Installation immer ein Warnhinweis angezeigt.
Um ein bekanntes Repository als vertrauenswürdig zu erklären, setzen wir in der Richtlinie das Flag “Trusted”.
Set-PSRepository -Name “PSGallery” -InstallationPolicy Trusted
Set-PSRepository -Name “PSGallery” -InstallationPolicy UnTrusted
Wenn wir jetzt versuchen das EXO V2-Modul names “ExchangeOnlineManagement” zu installieren, erscheint die Warnung nicht mehr.
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.5
Troubleshooting
Wenn jemand diese Fehlermeldung angezeigt bekommt, der sollte zuerst das Default Repository “PSGallery” installieren.
PackageManagement\Find-Package : Für die angegebenen Suchkriterien und den Paketnamen “ExchangeOnlineManagement” wurde keine Übereinstimmung gefunden. Verwenden Sie Get-PSRepository, um alle verfügbaren, registrierten Paketquellen anzuzeigen.
Dieser Befehl installiert das Default Repository welches unter normalen Umständen vorhanden sein sollte.
Register-PSRepository -Default
Sollte der Nuget Provider noch nicht installiert sein, so drängt er sich dir quasi auf.
Sollte der Download eines Pakets nicht klappen und es erscheint folgende Meldung, dann liegt es wohl daran, das TLS 1.2 nicht konfiguriert ist.
Install-Package : An error occurred while loading packages from ‘https://nuget.org/api/v2/’: The underlying connection was closed
Mit diesem Befehl setzen wir den .NET Protokoll Typ auf TLS 1.2 fest.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12