Cum se verifică versiunea PowerShell instalată?
În acest articol vom afla ce versiuni PowerShell există, care este diferența dintre Windows PowerShell
și PowerShell Core
și cum să verificați versiunea PowerShell instalată pe un computer local sau la distanță.
Istoricul și versiunile Windows PowerShell și PowerShell Core
PowerShell este instalat implicit în toate versiunile Windows începând de la Windows 7 SP1 și Windows Server 2008 R2 SP1. Următorul tabel prezintă lista tuturor versiunilor PowerShell:
Versiunea PS | Notă |
PowerShell 1.0 | Poate fi instalat manual pe Windows Server 2003 SP1 și Windows XP |
PowerShell 2.0 | Windows Server 2008 R2 și Windows 7 |
PowerShell 3.0 | Windows 8 și Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 și Windows Server 2012 R2 |
PowerShell 5.0 | Preinstalat pe Windows 10 RTM și actualizat automat la 5.1 prin Windows Update |
PowerShell 5.1 | Este încorporat în Windows 10 (începând cu Build 1709) și Windows Server 2016 |
PowerShell Core 6.0 și 6.1 | Este următoarea versiune multi-platformă PowerShell (bazată pe .NET Core) care poate fi instalată pe toate versiunile Windows acceptate și pe MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Este cea mai recentă versiune PowerShell lansată în martie 2020 (.NET Core 3.1 este utilizat în loc de .NET Core 2.x) |
Este demn de remarcat faptul că, în ultimii 2 ani, Microsoft a suspendat dezvoltarea versiunii Windows PowerShell clasice (sunt lansate doar remedieri de erori și actualizări de securitate) și s-a concentrat pe PowerShell Core cu platformă open-source.
Care este diferența dintre Windows PowerShell și PowerShell Core?
- Windows PowerShell se bazează pe .NET Framework (de exemplu, PowerShell 5 necesită .NET Framework v4.5, asigurați-vă că este instalat). PowerShell Core se bazează pe .Net Core;
- Windows PowerShell funcționează numai în sistemele de operare Windows, în timp ce PowerShell Core este multiplataformă și poate funcționa și în Linux;
- PowerShell Core este nu este pe deplin compatibil cu Windows PowerShell, cu toate acestea, Microsoft lucrează la îmbunătățirea compatibilității înapoi cu cmdlet-urile și scripturile PS anterioare. (este recomandat să testați vechile scripturi PS1 înainte de a trece la PowerShell Core). PowerShell Core 7 oferă cea mai mare compatibilitate cu Windows PowerShell;
- Nu puteți utiliza PowerShell ISE Editor pentru a edita scripturile PowerShell Core (dar Visual Studio Code poate fi utilizat);
- De la Windows PowerShell nu mai este dezvoltat, se recomandă să începeți migrarea la PowerShell Core.
Cum se obține versiunea PowerShell de pe consolă?
Cel mai simplu mod de a afla care Versiunea PowerShell este instalată pe computerul dvs. este să utilizați comanda:
host
Verificați valoarea proprietății Version.
sau
$PSVersionTable
Puteți obține doar valoarea versiunii PowerShell :
$PSVersionTable.PSVersion.major
(în acest exemplu avem PSVersion 2.0 în Win curat dows Server 2008 R2)
Comanda $ PSVersionTable funcționează corect în PowerShell Core în diferite sisteme de operare.
Puteți afla, de asemenea, versiunea PowerShell instalată prin registry. Pentru a face acest lucru, obțineți valoarea parametrului PowerShellVersion în cheia de registry HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
utilizând cmdletul Get-ItemProperty:
În Windows Server 2008 R2 / Windows 7, puteți obține valoarea parametrului de registry într-o altă cheie reg:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
Pentru a obține versiunea instalată PowerShell Core, utilizați următoarea comandă:
Verificați versiunea PowerShell pe computerele la distanță
verificați versiunea PowerShell pe o gazdă la distanță, utilizați valoarea variabilei de mediu $ PSVersionTable sau obțineți direct informațiile din registru. Alte metode pot returna date incorecte.
Puteți obține versiunea PowerShell instalată pe un computer la distanță prin PowerShell Remoting folosind cmdletul Invoke-Command: