PowerShell 7 und Windows PowerShell. Tobias Weltner
gegebenenfalls vor dem Update nachinstalliert werden muss.
Bei Clients ist ein Update der Windows PowerShell schnell erledigt. Bei Servern sollten Sie sich dagegen vor dem Update unbedingt genauer informieren: Serversoftware wie Microsoft Exchange kann auf eine ganz bestimmte Windows PowerShell-Version festgelegt sein. Entweder aktualisieren Sie in so einem Fall Windows PowerShell gemeinsam mit den übrigen Serverkomponenten, die davon abhängen, oder Sie installieren, wenn Ihnen das zu heikel oder zu aufwendig ist, parallel zu Windows PowerShell kurzerhand die neue moderne PowerShell und arbeiten künftig einfach mit dieser, während Sie Windows PowerShell unverändert lassen.
Abbildung 1.5: Windows PowerShell ist Teil des Windows Management Framework.
PowerShell 7: die »neue« PowerShell
Weil Windows PowerShell in das Windows-Betriebssystem fest integriert ist, kann sie – wie Sie gerade erlebt haben – nur relativ umständlich aktualisiert werden. Erst recht steht sie nicht auf anderen Betriebssystemen zur Verfügung. Deshalb hat das Microsoft-Entwicklungsteam um Steve Lee im Jahr 2016 die Entwicklung der Windows PowerShell abgeschlossen.
Alle folgenden Versionen der PowerShell wurden fundamental anders entwickelt: Sie sind nicht mehr Bestandteil von Windows, sondern eigenständige portable Anwendungen, die fortan auf dem neuen plattformunabhängigen .NET Framework Core basieren. So kann Power-Shell nun auch auf Linux, macOS und anderen Betriebssystemen eingesetzt werden.
Die neue PowerShell heißt auch nicht länger Windows PowerShell, sondern nur noch Power-Shell, die Anwendung pwsh.exe anstelle von powershell.exe.
Darüber hinaus ist PowerShell quellcodeoffen (Open Source) und portabel. Sie kann also beliebig oft und in beliebigen Versionen parallel existieren, und wenn Sie möchten, könnten Sie sie sogar wie ein persönliches Werkzeug auf einem USB-Stick bei sich tragen und vom Stick aus starten.
So ist die neue PowerShell sogar für Windows-Anwender interessant. Installieren Sie sie parallel zur vorhandenen Windows PowerShell, können Sie wahlweise Windows PowerShell über den Befehl powershell starten oder eben PowerShell über den Befehl pwsh.
Profitipp
Das wirft in Unternehmen häufig die Frage auf, ob (und, wenn ja, wie) man unternehmensweit von Windows PowerShell auf PowerShell umsteigen sollte. Schließlich ist die Windows PowerShell ja inzwischen »veraltet« und wird nicht länger weiterentwickelt. Stimmt das?
Nein. Windows PowerShell ist keineswegs abgekündigt und wird bis ans Ende der Laufzeit von Windows 10 weiter voll von Microsoft unterstützt. Auch etwaige Sicherheitslücken, sollten sie denn auftreten, werden weiterhin behoben, und Windows PowerShell ab Version 5.1 wird über das automatische Windows Update automatisch gepflegt.
Deshalb spricht nichts dagegen, Windows PowerShell auch weiterhin einzusetzen. Windows PowerShell hat gegenüber PowerShell sogar zwei unternehmenskritische Vorteile:
Automatische Verfügbarkeit: Weil Windows PowerShell fester Bestandteil von Windows ist, steht sie immer automatisch zur Verfügung und wird ebenso automatisch aktualisiert. Wollen Sie stattdessen die neuere PowerShell einsetzen, müssten Sie sich eine eigene Deployment-Strategie überlegen, also PowerShell in eigener Verantwortung auf alle Computer im Unternehmen verteilen und natürlich auch zeitnah aktuell halten.
Vollständiges .NET Framework: Windows PowerShell basiert auf dem klassischen vollständigen .NET Framework 4.5. Dies ist eine Softwarebibliothek, aus der sich die meisten Windows-Anwendungen bedienen. Die plattformübergreifende PowerShell dagegen basiert auf dem abgespeckten .NET Framework Core, derzeit in Version 3.1. Obwohl dieses Framework rund 99 % der notwendigen Funktionen enthält, besteht doch die Möglichkeit, dass bestimmte Erweiterungen oder ältere Skripte darauf nicht lauffähig sind.
Wenn Sie also nicht unbedingt auf bestimmte neue Funktionalitäten in PowerShell angewiesen sind, spricht überhaupt nichts dagegen, im Unternehmen auch weiterhin flächendeckend Windows Power-Shell einzusetzen. Spezialisten und PowerShell-Entwickler können davon unbenommen auf ihren eigenen Entwicklungssystemen und in eigener Regie natürlich dennoch bereits die neue PowerShell einsetzen, wenn sie ihnen Vorteile bietet.
Einfache Installation über den Microsoft Store
Am einfachsten funktioniert die Installation der PowerShell über den Microsoft Store. Öffnen Sie ihn, indem Sie im Windows-Startmenü nach »Store« suchen.
Achtung
In vielen Unternehmensumfeldern ist der Zugang zum Microsoft Store abgeschaltet. Hier installieren Sie die neue PowerShell manuell (siehe unten). Besondere Administratorrechte sind für die Installation nicht notwendig.
Natürlich kann auch die Windows PowerShell den Store für Sie öffnen (denn PowerShell kann alles, was auch per Maus zu bewerkstelligen ist – sofern Sie die passenden Befehle kennen):
Start-Process shell:appsFolder\Microsoft.WindowsStore_8wekyb3d8bbwe!App
Listing 1.1: Microsoft Store mit PowerShell öffnen
Wichtig
Wenn Sie die Codebeispiele aus dem Buch nicht von Hand eingeben wollen, rüsten Sie den Befehl L mit dieser Zeile nach:
PS> Invoke-RestMethod -Uri https://tinyurl.com/codeAusBuch -UseBasicParsing | New-Item -Path
function: -Name L -Force | Out-Null
Geben Sie hinter dem Befehl die Listing-Nummer an, beispielsweise:
PS> L 1.1
Listing 1.1 liegt in der Zwischenablage. Fügen Sie es mit STRG+V in Konsole oder Editor ein.
Mehr zum Befehl L, welche sonstigen Tricks er auf Lager hat und wie Sie den Befehl dauerhaft verfügbar machen, erfahren Sie ab Seite 63.
Klicken Sie im Microsoft-Store-Fenster auf Suchen und geben Sie als Suchwort »PowerShell« ein. Klicken Sie auf PowerShell Preview und dann auf Installieren (siehe Abbildung 1.6).
Abbildung 1.6: PowerShell 7 als Preview über den Microsoft Store installieren
Hinweis
Die Preview-Fassung der PowerShell enthält jeweils die allerneuesten Funktionen und eignet sich besonders gut zum Experimentieren und Kennenlernen. Darüber hinaus steht im Store neuerdings auch die Produktionsversion ohne den Zusatz »Preview« zur Verfügung.
Falls der Store Sie übrigens um Anmeldedaten bittet oder dazu drängen will, ein Benutzerkonto anzulegen, lehnen Sie dankend ab. Eine Anmeldung ist zum Herunterladen und Installieren nicht nötig.
Nach der Installation wird die neue PowerShell über den Befehl pwsh gestartet. Drücken Sie also zum Beispiel