Kontakt zur Powershell Gallery nicht möglich

Auf älteren Windows Systemen kann es vorkommen, dass der Kontakt zur Powershell Gallery nicht möglich ist. Beim Versuch wird ein Fehler zurückgegeben.

Unable to resolve package source ‘https://www.powershellgallery.com/api/v2’

Ursache im TLS

Transport Layer Security (TLS) ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. Seit 2021 gelten die TLS Versionen 1.0 und 1.1 als veraltet und werden daher von vielen Anwendungen nicht mehr akzeptiert. Damit sind TLS 1.2 und 1.3 zum neuen Standard geworden. Auch die Powershell Gallery erfordert Seit 2020 mindestens TLS 1.2 und lehnt ältere Protokolle ab. Ältere Powershell Versionen wie beispielsweise Powershell 5.1 unterstützen diese Konfiguration nicht.

Aktuelles Security Protokoll abfragen

[Net.ServicePointManager]::SecurityProtocol

Als Ergebnis liefert Powershell in der Regel den Wert ‘SystemDefault’ zurück. D.h. Powershell verwendet die systemweiten Einstellungen für TLS.

PS > [Net.ServicePointManager]::SecurityProtocol
SystemDefault

Falls im System eine ältere TLS Version als Standard definiert ist, verwendet Powershell diese als Standard.

TLS 1.2 erzwingen

TLS 1.2 lässt sich in Powershell erzwingen mit dem unten gezeigten Kommando. Allerdings muss dieser Befehl in jeder neuen Powershell Session erneut ausgeführt werden.

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

Zum Test kann der Befehl aus dem ersten Screenshot erneut ausgeführt werden.

PS > Find-Module -Name VMware.PowerCLI

Es wird nun die Version des Moduls zurückgegeben ohne Fehlermeldung.

Version Name Repository Description
------- ---- ---------- -----------
13.3.0…. VMware.PowerCLI PSGallery This Windows PowerShell module contains VMware.PowerCLI

Nachhaltige Lösung

Das Erzwingen der TLS 1.2 Version kann nur ein kurzfristiger Fix sein. Langfristig sollte die Poweshell Version im OS auf aktuellen Stand gebracht werden. Ältere Systeme, die laut Microsoft ihr End-of-Life (EoL) erreicht haben, sollten nicht mehr eingesetzt werden. Das ist leicht gesagt, aber mir begegnen in der Praxis immer wieder Altsysteme, die aus den unterschiedlichsten Gründen nicht ersetzt werden können.

Kontakt zur Powershell Gallery nicht möglich

Auf älteren Windows Systemen kann es vorkommen, dass der Kontakt zur Powershell Gallery nicht möglich ist. Beim Versuch wird ein Fehler zurückgegeben.

Unable to resolve package source ‘https://www.powershellgallery.com/api/v2’

Ursache im TLS

Transport Layer Security (TLS) ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. Seit 2021 gelten die TLS Versionen 1.0 und 1.1 als veraltet und werden daher von vielen Anwendungen nicht mehr akzeptiert. Damit sind TLS 1.2 und 1.3 zum neuen Standard geworden. Auch die Powershell Gallery erfordert Seit 2020 mindestens TLS 1.2 und lehnt ältere Protokolle ab. Ältere Powershell Versionen wie beispielsweise Powershell 5.1 unterstützen diese Konfiguration nicht.

Aktuelles Security Protokoll abfragen

[Net.ServicePointManager]::SecurityProtocol

Als Ergebnis liefert Powershell in der Regel den Wert ‘SystemDefault’ zurück. D.h. Powershell verwendet die systemweiten Einstellungen für TLS.

PS > [Net.ServicePointManager]::SecurityProtocol
SystemDefault

Falls im System eine ältere TLS Version als Standard definiert ist, verwendet Powershell diese als Standard.

TLS 1.2 erzwingen

TLS 1.2 lässt sich in Powershell erzwingen mit dem unten gezeigten Kommando. Allerdings muss dieser Befehl in jeder neuen Powershell Session erneut ausgeführt werden.

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

Zum Test kann der Befehl aus dem ersten Screenshot erneut ausgeführt werden.

PS > Find-Module -Name VMware.PowerCLI

Es wird nun die Version des Moduls zurückgegeben ohne Fehlermeldung.

Version Name Repository Description
------- ---- ---------- -----------
13.3.0…. VMware.PowerCLI PSGallery This Windows PowerShell module contains VMware.PowerCLI

Nachhaltige Lösung

Das Erzwingen der TLS 1.2 Version kann nur ein kurzfristiger Fix sein. Langfristig sollte die Poweshell Version im OS auf aktuellen Stand gebracht werden. Ältere Systeme, die laut Microsoft ihr End-of-Life (EoL) erreicht haben, sollten nicht mehr eingesetzt werden. Das ist leicht gesagt, aber mir begegnen in der Praxis immer wieder Altsysteme, die aus den unterschiedlichsten Gründen nicht ersetzt werden können.

VM Restorepoints aus Veeam Backup entfernen

Mit Powershell VMs selektiv aus Backup-Archiven eliminieren

Die DSGVO wirft ihre Schatten voraus. Am Freitag den 25.5.2018 endet die Übergangsfrist (in Kraft ist das Gesetz schon lange) und Verstöße können empfindliche Strafen nach sich ziehen.

In diesem Kontext erhielt ich heute einen etwas ungewöhnlichen Kundenauftrag: “Entfernen Sie VM KillMe aus allen (ja, allen) Backups!”.

Hier kann man mehrere Strategien anwenden:

„VM Restorepoints aus Veeam Backup entfernen“ weiterlesen

Check ESX Path Selection Policy (PSP)

VMware ESXi verwendet ein modulares Framework zur Verwaltung von gleichzeitigen Zugriffen auf Datenspeicher. Die Pluggable Storage Architecture (PSA) koordiniert die Arbeit der Multipathing-Plugins (MPP). Verschiedene Storage Hersteller liefern eigene MPP für den Betrieb ihrer Geräte an ESXi Hosts, oder geben Empfehlungen für die Verwendung des VMware Native Multipathing Plugin (NMP). Dieses bietet drei Path-Selection-Policies:

  • Fixed
  • Most recently used (MRU)
  • Roud Robin (RR)

Die Standard-Einstellung des VMware Native Multipathing Plugins ist MRU. Das bedeutet, dass jedes neue ESX-Volume auf jedem Host mit der Policy MRU angesteuert wird.

Beim neu hinzufügen von LUNs zum ESX Cluster passiert es immer wieder, daß für einzelne LUNs nicht die korrekte Path-Selection-Policy gesetzt wird. Bei n Luns x m Server kommt da unter Umständen eine große Anzahl an Konfigurationen zusammen mit erhöhter Fehlerwahrscheinlichkeit. „Check ESX Path Selection Policy (PSP)“ weiterlesen