Tags: PowerShell, SSH, Remote-Verwaltung
Microsoft gab einen Ausblick auf das nächste Release von PowerShell 7. Es soll auf .NET 7 basieren und Just Enough Administration (JEA) Cross-Plattform-fähig machen. Hinzu kommen unter anderem die Integration von PowerShellGet 3.0, Desired State Configuration (DSC) 3, ein MSI für ARM und ein Cmdlet für die Installation.
Diese Variante von PowerShell unterstützt bekanntlich mehrere Plattformen und benötigt auf jeder davon eine Implementierung von .NET. Während das im Herbst erschienene PowerShell 7.2 noch auf .NET 6 basierte, baut die kommende Version 7.3 bereits auf .NET 7 auf.
Auch PowerShell 7.3 nicht in Windows enthalten
Die Update-Intervalle von PowerShell 7 sind daher am Lebenszyklus von .NET und nicht von Windows ausgerichtet. Dies erweist sich jedoch als Hindernis, wenn Microsoft die PowerShell 7 zusammen mit dem Betriebssystem ausliefern möchte.
Daher wird auch PowerShell 7.3 nicht auf den Installationsmedien von Windows 11 vertreten sein, so dass Anwender sie separat hinzufügen müssen. Um diesen Prozess zu vereinfachen, soll die integrierte Windows PowerShell ein Cmdlet erhalten, um die Version 7.3 herunterzuladen und zu installieren.
Nachfolgende Updates sollten sich dann mit dem in PowerShell 7.2 eingeführten Support für WSUS und Windows Update einspielen lassen. Für die ARM-Version von Windows möchte Microsoft einen MSI-Installer bereitstellen, nachdem es dafür bis dato nur ein ZIP-Archiv gibt.
JEA über SSH
Eine wichtige Neuerung ist die Unterstützung der Session Configuration über SSH. Mit ihrer Hilfe lassen sich die Möglichkeiten eines Benutzers auf bestimmte Cmdlets und sogar auf einzelne ihrer Parameter einschränken. Dies ist ein wesentliches Feature von Just Enough Administration.
Bis dato hängt JEA in PowerShell von WinRM ab, welches aber nicht auf allen unterstützten Plattformen vorhanden ist. Als Plattform-übergreifendes Protokoll für PowerShell-Remoting dient SSH, über das nun auch JEA möglich sein wird.
Integration mit Security-Features und Package Management
In puncto Sicherheit kündigte Microsoft eine engere Integration mit dem Anti-Malware-Service sowie mit dem Application Whitelisting WDAC an. Wie diese im Detail aussehen soll, geht aus der Ankündigung nicht hervor.
Geplant ist zudem die Integration des PowerShell Package Management (PowerShellGet) in der Version 3. Es wurde von Grund auf neu in C# geschrieben. Das Modul dient dem Hinzufügen von Paketen aus externen Quellen, beispielsweise von der PowerShell Gallery. Auch sie soll grundlegend verändert werden, Einzelheiten dazu gibt es aber ebenfalls noch nicht.
Ausgliederung von DSC
Mit PowerShell 7.2 entfernte Microsoft das Modul Desired State Configuration (DSC) aus dem Lieferumfang des Basispakets. Als Grund gibt der Hersteller an, das damit die Entwicklung von PowerShell 7 und DSC entkoppelt werden soll.
Anwender müssen das Modul für Configuration Management nun separat installieren. Aktuell liegt es in der Version 2.0.5 vor, die Version 3.0 gibt es zurzeit als Preview und dürfte beim Release von PowerShell 7.3 verfügbar sein.
Versionskonflikte von Assemblies
Bisherige Versionen von PowerShell 7 leiden unter einem Design-Problem, das zu Konflikten zwischen abhängigen .NET-Assemblies führt. Wenn zwei Module die gleiche Assembly in verschiedenen Versionen benötigen, dann schlägt das Laden einer zweiten Kopie fehl. Diese Situation soll PowerShell 7.3 verbessern.
Verfügbarkeit
Aktuell gibt es noch kein offizielles Freigabedatum für PowerShell 7.3, es soll aber voraussichtlich im vierten Quartal erscheinen. Während der Vorgänger insgesamt drei Jahre Support erhielt, beläuft sich dieser bei der 7.3 wie bei allen ungeraden Releases auf nur ein Jahr.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- SSH-Remoting in PowerShell Core mit Public-Key-Authentifizierung nutzen
- Remote-Management: PowerShell Direct oder PS-Session über SSH
- Dateien zwischen Windows und Linux kopieren mit SCP und PowerShell
- ThinPrint 13 unterstützt Microsofts V4-Druckertreiber und MMC
- Second-Hop-Problem: CredSSP für PowerShell-Remoting konfigurieren
Weitere Links