Wie überprüfe ich die installierte PowerShell-Version?
In diesem Artikel erfahren Sie, welche PowerShell-Versionen existieren und was der Unterschied zwischen Windows PowerShell
und PowerShell Core
und wie Sie die auf einem lokalen oder Remotecomputer installierte PowerShell-Version überprüfen.
Verlauf und Versionen von Windows PowerShell und PowerShell Core
PowerShell wird standardmäßig in allen Windows-Versionen ab Windows 7 SP1 und Windows Server 2008 R2 SP1 installiert. Die folgende Tabelle zeigt die Liste aller PowerShell-Versionen:
PS-Version | Hinweis |
PowerShell 1.0 | Kann manuell unter Windows Server 2003 SP1 und Windows XP | PowerShell 2.0 | Windows Server 2008 R2 und Windows 7 |
PowerShell 3.0 | Windows 8 und Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 und Windows Server 2012 R2 |
PowerShell 5.0 | Unter Windows 10 RTM vorinstalliert und über Windows Update automatisch auf 5.1 aktualisiert. |
PowerShell 5.1 | Es ist in Windows 10 integriert (beginnend mit Build 1709). und Windows Server 2016 |
PowerShell Core 6.0 und 6.1 | Es ist die nächste plattformübergreifende PowerShell-Version (basierend auf .NET Core), die installiert werden kann unter allen unterstützten Windows-Versionen und unter MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Dies ist die neueste im März 2020 veröffentlichte PowerShell-Version (.NET Core 3.1 wird darin anstelle von .NET Core 2.x verwendet) |
Es ist anzumerken, dass Microsoft in den letzten 2 Jahren die Entwicklung der klassischen Windows PowerShell eingestellt hat (nur Fehlerkorrekturen und Sicherheitsupdates werden veröffentlicht) und sich auf plattformübergreifenden Open-Source-PowerShell Core konzentriert.
Was ist der Unterschied zwischen Windows PowerShell und PowerShell Core?
- Windows PowerShell basiert auf .NET Framework (für PowerShell 5 ist beispielsweise .NET Framework v4.5 erforderlich. Stellen Sie dies sicher es ist installiert). PowerShell Core basiert auf .Net Core;
- Windows PowerShell funktioniert nur unter Windows-Betriebssystemen, während PowerShell Core plattformübergreifend ist und auch unter Linux funktionieren kann.
- PowerShell Core ist Microsoft ist nicht vollständig mit Windows PowerShell kompatibel. Microsoft arbeitet jedoch an der Verbesserung der Abwärtskompatibilität mit früheren PS-Cmdlets und -Skripten. (Es wird empfohlen, Ihre alten PS1-Skripte zu testen, bevor Sie zu PowerShell Core wechseln.) PowerShell Core 7 bietet die höchste Kompatibilität mit Windows PowerShell:
- Sie können den PowerShell ISE-Editor nicht zum Bearbeiten von PowerShell Core-Skripten verwenden (es kann jedoch Visual Studio-Code verwendet werden);
- Seit Windows PowerShell Wird nicht mehr entwickelt, wird empfohlen, mit der Migration zu PowerShell Core zu beginnen.
Wie kann ich die PowerShell-Version von der Konsole abrufen?
Der einfachste Weg, um herauszufinden, welche Die auf Ihrem Computer installierte PowerShell-Version verwendet den folgenden Befehl:
host
Überprüfen Sie den Wert der Versionseigenschaft.
oder
$PSVersionTable
Sie können nur den PowerShell-Versionswert abrufen :
$PSVersionTable.PSVersion.major
(in diesem Beispiel haben wir PSVersion 2.0 in sauberem Win dows Server 2008 R2)
Der Befehl $ PSVersionTable funktioniert in PowerShell Core unter verschiedenen Betriebssystemen ordnungsgemäß.
Sie können die installierte PowerShell-Version auch über die Registrierung ermitteln. Rufen Sie dazu den Wert des PowerShellVersion-Parameters im Registrierungsschlüssel HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
mit dem Cmdlet Get-ItemProperty ab:
In Windows Server 2008 R2 / Windows In 7 können Sie den Wert des Registrierungsparameters in einem anderen Registrierungsschlüssel abrufen:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
Verwenden Sie den folgenden Befehl, um die installierte PowerShell Core-Version abzurufen:
Überprüfen Sie die Version von PowerShell auf Remotecomputern
To Überprüfen Sie die PowerShell-Version auf einem Remote-Host, verwenden Sie den Wert der Umgebungsvariablen $ PSVersionTable oder rufen Sie die Informationen direkt aus der Registrierung ab. Andere Methoden geben möglicherweise falsche Daten zurück.
Sie können die PowerShell-Version über PowerShell Remoting mithilfe des Cmdlets Invoke-Command auf einem Remotecomputer installieren: