Adam the Automator (Suomi)

Powershellissa on zillion tapoja tehdä sama asia (tai sen lähellä). Tässä blogikirjoituksessa opit joka tavalla tarkistaa PowerShell-version, joka sinulla on paikallis-ja etätietokoneissa. Käsittelemme huonot ja suositellut Tapani.

Jos haluat mennä PowerShell newbie PowerShell guru, suosittelen syö tämä ILMAINEN mini-kurssi rakennus PowerShell työkalu. Tämä on askel-askeleelta opetusohjelma, jossa on täydelliset selitykset ja ohjeet Adam Automaatti!,

on sivustoja, jotka näyttävät erilaisia tapoja tarkistaa Powershell-versio. Mutta kukaan, joka kokosi kattavan listan kaikista niistä. Päätin muuttaa sen.

kaikkien näiden tapojen pitäisi toimia sekä Windows Powershellissa että Powershellissa. Näiden menetelmien pitäisi toimia myös Windows PowerShell-versioissa 1.0 aina PowerShell 7: ään asti.,

tapoja, joilla voit selvittää versio PowerShell olet käynnissä ovat:

  1. (Get-Host).Version omaisuutta
  2. $host.Version omaisuutta
  3. rekisterin (Windows PowerShell vain)
  4. $PSVersionTable.PSVersion omaisuutta

katsotaanpa murtaa kaikki tapoja löytää version PowerShell ainakin suositeltavin tapa.

Sisällysluettelo

Get-Host

PowerShell on käsite, joka tunnetaan isännät. Juontaja on ohjelma, joka isännöi PowerShell-moottoria., Se ei ole itse PowerShell-Moottori.PowerShell-konsoli tai koodieditori, jossa on integroitu pääte, ovat PowerShell-isäntiä.

isäntä voi olla versio, joka on täysin riippumaton PowerShell itse. Tämä voi pettää monia tulokkaita. Anna kun näytän miksi.

Jos suoritat (Get-Host).Version, näet, että se palauttaa version numero, joka näyttää siltä kuin se voisi olla PowerShell engine versio. Ulkonäkö voi pettää.

Alla olen juoksi Get-Host Windows PowerShell 5.1 ja näet se tulee takaisin 5.1.17134.858., Tämä näyttää lailliselta versiolta.

Kuitenkin, joskus kun suoritat Get-Host integroitu terminaali, versio ei ole sama. Vaikka yleensä isäntä edustaa samaa versiota moottorista, ei aina tarvitse tehdä niin.

Tarkista Powershell Version kautta Get-Host etätietokoneisiin

vaikka Get-Host tuntuu palata sama versio kun ajaa paikalliseen tietokoneeseen, se ei koskaan etätietokoneisiin.,

esimerkiksi, katsotaanpa ajaa Get-Host kauko Windows Server 2016-palvelimen kautta Invoke-Command ja katso mitä tapahtuu.

kun viimeksi tarkistin, PowerShell v1: tä ei ole mahdollista ajaa Windows Server 2016: ssa.

Luottaa Get-Host on vain huono ajatus ympäri.

Tarkista Powershell Version $host.Versio komennot

Viitataan $host.Version on toinen tapa tarkistaa Powershell versio. $host muuttuja on automaattinen muuttuja, joka palauttaa saman tuotoksen kuin Get-Host.,

Viitataan $host.Version

Ei ole mitään erikoista tämä menetelmä. Se on yksinkertaisesti sama kuin juokseminen Get-Host.

$host.Versio etätietokoneisiin

näet sama ongelma kautta PowerShell Remoting $host.Version kun sinulla on käynnissä Get-Host.

Danger, Will Robinson!

Rekisterin

Jos et halua avata PowerShell itse, voit myös tarkistaa rekisterin., PowerShellin versio on sijoitettu rekisterinäppäimistöpolun HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEnginearvon alle. Tämä rekisteriavain on arvo nimeltä PowerShellVersion, johon voit viitata käyttämällä Get-ItemProperty.

Voit nähdä, että tämä versio on samanlainen, mutta ei sisällä uusinta kuin muita vaihtoehtoja.

muiden työkalujen

käyttäminen rekisterissä tarkoittaa myös sitä, että Version löytämiseen ei tarvitse käyttää Powershellia lainkaan. Voit suorittaa komentoja komentokehotteesta tai muusta työkalusta, joka voi lukea rekisterin.,

etätietokoneiden Rekisteri

rekisteri on staattinen eikä arvot muutu paikallisesti tai etänä. Voit luottaa siihen, että se, mitä näet paikallisesti, on sama kuin etänä.

saman version näyttäminen paikallisesti ja etänä on hyvä. Mutta minulla on parempi tapa näyttää, käyttäen $PSVersionTable automaattinen muuttuja.

Tarkista Powershell-versio $Psversiontablen kautta.PSVersion komento

viimeinen ja lopullinen tapa on viittaaminen PSVersion omaisuutta $PSVersionTable automaattinen muuttuja., Tämä menetelmä edustaa aina PowerShell-moottoria.

$PSVersionTable automaattinen muuttuja on vain luku-hash-taulukko, joka palauttaa tiedot, erityisesti PowerShell xia yuan versio. Tämä automaattinen muuttuja paitsi palauttaa version myös PSEdition. Tämä ominaisuus voi olla joko Ydin-tai Desktop antaa lisätietoja painos PowerShell, joka on käynnissä.,

$PSVersionTable tuotos

$PSVersionTable etätietokoneisiin

$PSVersionTable automaattinen muuttuja on tarkka paikallisesti, koska se on etänä. Alla näet, että käärimällä $PSVersionTable.PSVersion: n scriptblockiin ja suorittamalla koodin etätietokoneella, se palauttaa saman version.

Yhteenveto

tässä blogikirjoituksessa olet oppinut kaikki tavat tarkistaa PowerShellin versio sekä paikallisesti että etänä., Toivottavasti ensimmäiset menetelmät antoivat sinulle käsityksen siitä, millä tavoin ei tarkisteta versiota!

suosittelen käyttämään aina $PSVersionTable.PSVersion. Kaikki muut menetelmät voivat vaikuttaa samanlaisilta kuin PowerShell-moottoriversio, mutta ne eivät välttämättä aina heijasta moottoriversiota.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *