PowerShell Versionen

Infos zur PowerShell-Version mit $PSVersionTable anzeigen lassen:

PS E:\_temp> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.0.10586.117
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10586.117
CLRVersion                     4.0.30319.36366
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PS E:\_temp> $host.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10586  117

oder „etwas neuer“: (Windows 10 – Version 1607)

PS E:\_temp> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.14393.206
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14393.206
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

PS E:\_temp> $host.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  206

Und selbstverständlich gibt es noch neuere Windows 10 Versionen (also: 1703, 1709, 1803, 1809, 1903, …).

Hier das Home-Verzeichnis für die PowerShell mit Variable $PSHOME:

PS E:\_temp> $PSHOME
C:\Windows\System32\WindowsPowerShell\v1.0

Ja es handelt sich als Verzeichnis immer noch um die Version 1.0 und das ist natürlich die 64-Bit-Variante auf 64-Bit-OS. Die 32-Bit-Variante befindet sich im SysWoW64-Ordner (!):

C:\Windows\SysWOW64\WindowsPowerShell\v1.0

Warum ist das wichtig?

Beispiel: beim Zugriff auf 32-Bit Access DB oder Module mit 32-Bit-Programmierungen.