Hvordan sjekke PowerShell-versjonen som er installert?
I denne artikkelen vil vi lære hvilke PowerShell-versjoner som finnes, hva er forskjellen mellom Windows PowerShell
og PowerShell Core
, og hvordan du kontrollerer PowerShell-versjonen som er installert på en lokal eller ekstern datamaskin.
Historikk og versjoner av Windows PowerShell og PowerShell Core
PowerShell er installert som standard i alle Windows-versjoner som starter fra Windows 7 SP1 og Windows Server 2008 R2 SP1. Følgende tabell viser listen over alle PowerShell-versjoner:
PS-versjon | Merk |
PowerShell 1.0 | Kan installeres manuelt på Windows Server 2003 SP1 og Windows XP |
PowerShell 2.0 | Windows Server 2008 R2 og Windows 7 |
PowerShell 3.0 | Windows 8 og Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 og Windows Server 2012 R2 |
PowerShell 5.0 | Forhåndsinstallert på Windows 10 RTM og automatisk oppdatert til 5.1 via Windows Update |
PowerShell 5.1 | Den er innebygd i Windows 10 (starter med Build 1709) og Windows Server 2016 |
PowerShell Core 6.0 og 6.1 | Det er den neste plattforms PowerShell-versjonen (basert på .NET Core) som kan installeres på alle støttede Windows-versjoner og på MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Det er den siste PowerShell-versjonen som ble utgitt i mars 2020 (.NET Core 3.1 brukes i den i stedet for .NET Core 2.x) |
Det er verdt å merke seg at de siste to årene har Microsoft stanset utviklingen av klassiske Windows PowerShell (bare feilrettinger og sikkerhetsoppdateringer blir utgitt) og fokuserte på åpen kildekode på tvers av plattformer PowerShell Core. p>
Hva er forskjellen mellom Windows PowerShell og PowerShell Core?
- Windows PowerShell er basert på .NET Framework (for eksempel krever PowerShell 5 .NET Framework v4.5, sørg for at den er installert). PowerShell Core er basert på .Net Core;
- Windows PowerShell fungerer bare i Windows-operativsystemer, mens PowerShell Core er plattform og kan også fungere i Linux;
- PowerShell Core er ikke fullt ut kompatibel med Windows PowerShell, men Microsoft jobber med å forbedre bakoverkompatibilitet med tidligere PS-cmdlets og skript. (det anbefales å teste de gamle PS1-skriptene dine før du går til PowerShell Core). PowerShell Core 7 gir den høyeste kompatibiliteten med Windows PowerShell;
- Du kan ikke bruke PowerShell ISE Editor til å redigere PowerShell Core-skript (men Visual Studio-kode kan brukes);
- Siden Windows PowerShell ikke lenger er utviklet, anbefales det at du begynner å migrere til PowerShell Core.
Hvordan få PowerShell-versjon fra konsollen?
Den enkleste måten å finne ut hvilken PowerShell-versjonen er installert på datamaskinen din, er å bruke kommandoen:
host
Kontroller versjonsegenskapens verdi.
eller
$PSVersionTable
Du kan bare få PowerShell-versjonsverdien :
$PSVersionTable.PSVersion.major
(i dette eksemplet fikk vi PSVersion 2,0 i ren Win dows Server 2008 R2)
$ PSVersionTable-kommandoen fungerer riktig i PowerShell Core i forskjellige operativsystemer.
Du kan også finne ut den installerte PowerShell-versjonen gjennom registeret. For å gjøre det, få verdien av PowerShellVersion-parameteren i registernøkkelen HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
ved hjelp av Get-ItemProperty cmdlet:
I Windows Server 2008 R2 / Windows 7, kan du få verdien av registerparameteren i en annen reg-nøkkel:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
For å få den installerte PowerShell Core-versjonen, bruk følgende kommando:
Sjekk versjonen av PowerShell på eksterne datamaskiner
To sjekk PowerShell-versjonen på en ekstern vert, bruk verdien av miljøvariabelen $ PSVersionTable eller få informasjonen fra registret direkte. Andre metoder kan returnere feil data.
Du kan få PowerShell-versjonen installert på en ekstern datamaskin via PowerShell Remoting ved hjelp av Invoke-Command-cmdleten: