Kuinka tarkistaa asennetun PowerShell-version?
Tässä artikkelissa opitaan, mitä PowerShell-versioita on olemassa, mikä ero on Windows PowerShell
ja PowerShell Core
ja paikalliseen tai etätietokoneeseen asennetun PowerShell-version tarkistaminen.
Windows PowerShellin ja PowerShell Corein historia ja versiot
PowerShell asennetaan oletusarvoisesti kaikkiin Windows-versioihin alkaen Windows 7 SP1: stä ja Windows Server 2008 R2 SP1: stä. Seuraava taulukko näyttää luettelon kaikista PowerShell-versioista:
PS-versio | Huomautus |
PowerShell 1.0 | Voidaan asentaa manuaalisesti Windows Server 2003 SP1- ja Windows XP -käyttöjärjestelmiin |
PowerShell 2.0 | Windows Server 2008 R2 ja Windows 7 |
PowerShell 3.0 | Windows 8 ja Windows Server 2012 |
PowerShell 4.0 | Windows 8.1 ja Windows Server 2012 R2 |
PowerShell 5.0 | Esiasennettu Windows 10 RTM: ään ja päivitetty automaattisesti versioon 5.1 Windows Update -sovelluksen kautta |
PowerShell 5.1 | Se on sisäänrakennettu Windows 10: een (alkaen koontiversiosta 1709) ja Windows Server 2016 |
PowerShell Core 6.0 ja 6.1 | Se voidaan asentaa seuraava monitasoinen PowerShell-versio (.NET Core -sovelluksen perusteella) kaikilla tuetuilla Windows-versioilla ja MacOS, CentOS, RHEL, Debian, Ubuntu, openSUSE |
PowerShell Core 7.0 | Se on viimeisin PowerShell-versio, joka julkaistiin maaliskuussa 2020 (siinä käytetään .NET Core 3.1: a .NET Core 2.x: n sijaan) |
On syytä huomata, että Microsoft on viimeisten kahden vuoden aikana keskeyttänyt klassisen Windows PowerShellin kehittämisen (vain virhekorjauksia ja tietoturvapäivityksiä julkaistaan) ja keskittynyt avoimen lähdekoodin monitasoiseen PowerShell Coreen. p>
Mitä eroa on Windows PowerShellillä ja PowerShell Coreillä?
- Windows PowerShell perustuu .NET Frameworkiin (esimerkiksi PowerShell 5 vaatii .NET Framework v4.5, varmista, että se on asennettu). PowerShell Core perustuu .Net Core -ohjelmaan;
- Windows PowerShell toimii vain Windows-käyttöjärjestelmissä, kun taas PowerShell Core on alustojen välinen ja voi toimia myös Linuxissa;
- PowerShell Core on ei ole täysin yhteensopiva Windows PowerShellin kanssa, mutta Microsoft pyrkii parantamaan taaksepäin yhteensopivuutta aiempien PS-cmdletien ja komentosarjojen kanssa. (on suositeltavaa testata vanhat PS1-skriptisi ennen siirtymistä PowerShell Core -sovellukseen). PowerShell Core 7 tarjoaa parhaan yhteensopivuuden Windows PowerShellin kanssa;
- et voi käyttää PowerShell ISE Editoria muokkaamaan PowerShell Core -skriptejä (mutta Visual Studio -koodia voidaan käyttää);
- koska Windows PowerShell ei ole enää kehitetty, on suositeltavaa, että aloitat siirtymisen PowerShell Core -ohjelmaan.
Kuinka saada PowerShell-versio konsolista?
Helpoin tapa selvittää, mikä Tietokoneellesi asennetun PowerShell-version on käytettävä komentoa:
host
Tarkista version ominaisuusarvo.
tai
$PSVersionTable
Voit saada vain PowerShell-version arvon :
$PSVersionTable.PSVersion.major
(tässä esimerkissä saimme PSVersionin 2.0 puhtaassa voitossa dows Server 2008 R2)
$ PSVersionTable -komento toimii oikein PowerShell Core -käyttöjärjestelmässä eri käyttöjärjestelmissä.
Voit myös selvittää asennetun PowerShell-version rekisterin kautta. Tee se hankkimalla PowerShellVersion-parametrin arvo rekisteriavaimeen HKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
käyttämällä cmdlet-koodia Get-ItemProperty:
Windows Server 2008 R2 / Windows 7, saat rekisteriparametrin arvon toisesta reg-avaimesta:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
Hanki asennettu PowerShell Core -versio käyttämällä seuraavaa komentoa:
Tarkista etätietokoneiden PowerShell-versio
tarkista etäkoneen PowerShell-versio, käytä ympäristömuuttujan $ PSVersionTable arvoa tai hae tiedot suoraan rekisteristä. Muut menetelmät voivat palauttaa virheellisiä tietoja.
Voit saada PowerShell-version asennetuksi etätietokoneelle PowerShell Remoting -palvelun avulla Invoke-Command-cmdlet-komennolla: