Warum von Windows PowerShell zu PowerShell 7 wechseln?

Die Entwicklung von PowerShell hat es von einem reinen Windows-Tool zu einem plattformübergreifenden Open Source-Projekt gemacht, das mit der Veröffentlichung von PowerShell Core auf Mac- und Linux-Systemen ausgeführt wird. Als nächstes vereint Microsoft PowerShell Core und Windows PowerShell mit der langfristig unterstützten Version PowerShell 7, die irgendwann im Februar erscheinen soll. Welche Vor- und Nachteile hat die Einführung der nächsten PowerShell-Generation in Ihrer Umgebung?

Neue Funktionen stammen aus .NET Core

PowerShell Core wurde von Grund auf neu erstellt und ist eine Abkehr von Windows PowerShell. Es gibt viele neue Funktionen, Architekturen und Verbesserungen, die die Sprache noch weiter vorantreiben.
Open Source PowerShell wird auf einer Grundlage von .NET Core 2.x in PowerShell 6.x und .NET Core 3.1 in PowerShell 7 ausgeführt. Das .NET Core-Framework ist auch plattformübergreifend, sodass PowerShell Core auf den meisten Betriebssystemen ausgeführt werden kann. Die Umstellung auf das .NET Core-Framework bringt einige wichtige Änderungen mit sich, darunter:

  • Erhöhung der Ausführungsgeschwindigkeit;
  • Unterstützung für Windows Desktop-Anwendungen mit Windows Presentation Foundation und Windows Forms;
  • TLS 1.3-Unterstützung und andere kryptografische Verbesserungen; und
  • API-Verbesserungen.

PowerShell Core bietet Leistungsverbesserungen

Wie in den .NET Core-Änderungen erwähnt, wurde die Ausführungsgeschwindigkeit erheblich verbessert. Mit jeder neuen Version von PowerShell Core werden die Funktionsweise der Kernsprachenfunktionen und der integrierten Cmdlets gleichermaßen verbessert.

Verbesserung der PowerShell Core-Geschwindigkeit
Ein Test der
Gruppenobjekt Das Cmdlet zeigt an, dass weniger Zeit zum Ausführen der Aufgabe benötigt wird, wenn Sie von Windows PowerShell zu den neueren PowerShell Core-Versionen wechseln.

Mit einem einfachen Gruppenobjekt Im Test können Sie sehen, wie viel schneller jede nachfolgende Version von PowerShell Core geworden ist. Mit einer Geschwindigkeitsverbesserung von fast 73% von Windows PowerShell 5.1 auf PowerShell Core 6.1 wird das Ausführen von komplexem Code einfacher und schneller.

Sort-Object-Testergebnisse
Ein weiterer Geschwindigkeitstest mit dem
Objekt sortieren Das Cmdlet zeigt mit jeder nachfolgenden Version von PowerShell eine ähnliche Verbesserung.

Ähnlich wie Gruppenobjekt Test, können Sie sehen Objekt sortieren Testergebnisse führen zu einer nahezu Verdoppelung der Ausführungsgeschwindigkeit zwischen Windows PowerShell 5.1 und PowerShell Core 6.1. Da die Sortierung in vielen Anwendungen so häufig verwendet wird, bedeutet die Verwendung von PowerShell Core in Ihrer täglichen Arbeitslast, dass Sie in viel kürzerer Zeit so viel mehr erledigen können.

Lücken in der Cmdlet-Kompatibilität wurden behoben

Das PowerShell-Team begann mit dem Versand des Windows-Kompatibilitätspakets für .NET Core ab PowerShell Core 6.1. Mit dieser zusätzlichen Funktionalität ist der Hauptgrund für das Zurückhalten einer stärkeren Einführung von PowerShell Core nicht mehr gültig. Durch die Möglichkeit, viele Cmdlets auszuführen, die zuvor nur für Windows PowerShell verfügbar waren, können die meisten Skripts und Funktionen jetzt in beiden Umgebungen nahtlos ausgeführt werden.
PowerShell 7 wird die Lücke weiter schließen, indem die Funktionalität des Stroms integriert wird Windows-Kompatibilitätsmodul direkt in den Kernmotor.

Neue Funktionen sind in PowerShell 7 verfügbar

Es gibt fast zu viele neue Funktionen, um sie in PowerShell 7 aufzulisten. Einige der Highlights sind jedoch:

  • SSH-basiertes PowerShell-Remoting;
  • ein & Am Ende der Pipeline wird automatisch ein PowerShell-Job im Hintergrund erstellt.
  • viele Verbesserungen an Web-Cmdlets wie Link-Header-Paginierung, SSLProtocol Unterstützung, mehrteilige Unterstützung und neue Authentifizierungsmethoden;
  • PowerShell Core kann Pfade mit mehr als 260 Zeichen verwenden.
  • Markdown-Cmdlets;
  • experimentelle Merkmalsflags;
  • SecureString Unterstützung für Nicht-Windows-Systeme; und
  • Viele Verbesserungen der Lebensqualität bestehender Cmdlets mit neuen Funktionen und Korrekturen.

Die Installation nebeneinander reduziert das Risiko

Eine großartige Funktion von PowerShell Core, die die Einführung der neuen Shell erheblich vereinfacht, ist die Möglichkeit, die Anwendung neben der derzeit integrierten Windows PowerShell zu installieren. Durch die Installation von PowerShell Core wird Windows PowerShell nicht von Ihrem System entfernt.
Anstatt PowerShell mit dem aufzurufen Powershell.exe Befehl, den Sie verwenden pwsh.exe stattdessen – oder einfach pwsh unter Linux. Auf diese Weise können Sie Ihre Skripte und Funktionen schrittweise testen, bevor Sie alles massenhaft verschieben.
Diese Funktion ermöglicht eine schnellere Aktualisierung auf neue Versionen, anstatt auf ein Windows-Update zu warten. Durch die Entkopplung vom Windows-Veröffentlichungszyklus oder von Patch-Updates kann PowerShell Core jetzt regelmäßig freigegeben und problemlos aktualisiert werden.

Nachteile von PowerShell Core

Einer der größten Nachteile von PowerShell Core besteht darin, dass nicht mehr alle Cmdlets ausgeführt werden können, die in Windows PowerShell funktionieren. Es gibt noch einige Funktionen Dies kann von PowerShell Core nicht vollständig repliziert werden, aber die Anzahl der Cmdlets, die nicht ausgeführt werden können, nimmt mit jeder Version rapide ab. Dies kann die Umstellung einiger Organisationen auf PowerShell Core verzögern. Letztendlich gibt es jedoch keinen zwingenden Grund, unter Windows PowerShell zu bleiben, da PowerShell 7 und höher zunehmend Cmdlet-Unterstützung bietet.

Erste Schritte mit der Zukunft von PowerShell

PowerShell Core ist für eine Vielzahl von Plattformen verfügbar, sowohl für Linux als auch für Windows. Windows bietet MSI-Pakete an, die einfach zu installieren sind, während Linux-Pakete für eine Vielzahl verschiedener Paketplattformen und Repositorys verfügbar sind.
Starten Sie einfach die Shell mit pwsh Damit können Sie PowerShell Core ausführen, ohne Ihre aktuelle Umgebung zu stören. Noch besser ist die Möglichkeit, eine Vorschau-Version der nächsten Iteration von PowerShell zu installieren und auszuführen pwsh-Vorschau um es auszuprobieren bevor es allgemein verfügbar wird.

Similar Posts

Leave a Reply