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:
(Get-Host).Version
omaisuutta$host.Version
omaisuutta- rekisterin (Windows PowerShell vain)
$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
.,
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\PowerShellEngine
arvon 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 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.