Adam Automator (Română)

în PowerShell, există un zillion moduri de a face același lucru (sau aproape de el). În această postare pe blog, veți afla în orice mod verificați versiunea PowerShell pe care o aveți pe computerele locale și la distanță. Vom acoperi căile rele și modul meu recomandat.

Dacă doriți să treceți de la PowerShell newbie la PowerShell guru, vă recomand să devorați acest mini-curs gratuit pentru construirea unui instrument PowerShell. Acesta este un tutorial pas cu pas cu explicații complete și îndrumări de la Adam Automator!,

există site-uri web care arată diferite moduri de a verifica versiunea Powershell. Dar nici unul care a compilat o listă cuprinzătoare a tuturor acestora. Am decis să schimb asta.toate aceste moduri ar trebui să funcționeze atât în Windows PowerShell, cât și în PowerShell Core. Aceste metode ar trebui să funcționeze și în versiunile Windows PowerShell 1.0 până la PowerShell 7.,

modalități În care puteți găsi o versiune de PowerShell esti de funcționare sunt:

  1. (Get-Host).Version proprietate
  2. $host.Version proprietate
  3. registry (Windows PowerShell numai)
  4. $PSVersionTable.PSVersion proprietate

Să rupe în jos toate căile pentru a găsi versiunea de PowerShell la cel mai mic la cel mai recomandat mod.

cuprins

Get-Host

PowerShell are un concept cunoscut sub numele de gazde. O gazdă este un program care găzduiește motorul PowerShell., Nu este motorul PowerShell în sine.Consola PowerShell sau un editor de cod cu un terminal Integrat sunt gazdele PowerShell.o gazdă poate avea o versiune care este complet independentă de PowerShell în sine. Acest lucru poate fi înșelător pentru mulți nou-veniți. Să-ți arăt de ce.

Dacă executați (Get-Host).Version, veți vedea că returnează un număr de versiune care pare a fi versiunea motorului PowerShell. Aspectul poate fi înșelător.

mai Jos am fugit Get-Host pe Windows PowerShell 5.1 și puteți vedea că vine înapoi cu 5.1.17134.858., Aceasta pare a fi o versiune legitimă.

cu toate acestea, uneori când executați Get-Host într-un terminal integrat, versiunea nu este aceeași. Deși, de obicei, gazda va reprezenta aceeași versiune a motorului, nu este necesar să facă întotdeauna asta.

Verificați versiunea Powershell prin Get-Host pe computere la distanță

chiar dacă Get-Host pare să returneze aceeași versiune atunci când rulează pe un computer local, nu va fi niciodată pe computere la distanță.,

De exemplu, să rula Get-Host pe o distanță Windows Server 2016 server prin Invoke-Command și să vedem ce se întâmplă.ultima dată când am verificat, nu este posibil să rulați PowerShell v1 pe Windows Server 2016.

bazându-se pe Get-Host este doar o idee proastă peste tot în jurul.

Verificați versiunea Powershell $host.Comanda versiunii

referențierea $host.Version este un alt mod de a verifica versiunea Powershell. Variabila $host este o variabilă automată care returnează aceeași ieșire ca Get-Host.,

Corelarea $host.Version

Nu e nimic special la aceasta metoda. Este pur și simplu la fel ca rularea Get-Host.

$ gazdă.Versiune pe computere la distanță

veți vedea același comportament prin PowerShell Remoting cu $host.Versionpe măsură ce va rula Get-Host.pericol, Will Robinson!dacă nu doriți să deschideți PowerShell în sine, puteți verifica și registrul., Versiunea PowerShell este ascunsă sub o valoare în calea cheii de registru HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine. Această cheie de registru are o valoare numită PowerShellVersionpe care o puteți referi folosind Get-ItemProperty.puteți vedea că această versiune este similară, dar nu include revizuirea ca și celelalte opțiuni.

Utilizarea altor instrumente

utilizarea registrului înseamnă, de asemenea, că nu trebuie să utilizați PowerShell deloc pentru a găsi versiunea. Puteți rula comenzi de la promptul de comandă sau de la un alt instrument care poate citi Registrul.,

registru pe computere la distanță

registrul este static și valorile nu se vor schimba local sau de la distanță. Puteți avea încredere că ceea ce vedeți Local va fi același pe care îl vedeți de la distanță.afișarea aceleiași versiuni la nivel local și de la distanță este bună. Dar am o modalitate mai bună de a vă arăta folosind variabila automată $PSVersionTable.

Verificați versiunea Powershell prin $PSVersionTable.PSVersion comanda

ultima și ultima metodă este corelarea PSVersion proprietate pe $PSVersionTable automată variabilă., Această metodă va reprezenta întotdeauna motorul PowerShell.

$PSVersionTable automată variabilă este un read-only tabel hash care returnează informații în special despre PowerShell engin versiune. Această variabilă automată nu numai că returnează versiunea, ci și PSEdition. Această proprietate poate fie Core sau Desktop pentru a oferi informații suplimentare cu privire la ediția de PowerShell care se execută.,

$PSVersionTable de ieșire

$PSVersionTable pe Computerele de la Distanță

cu Ajutorul $PSVersionTable automată variabilă sunt corecte local ca este de la distanță. Puteți vedea mai jos că de ambalaj $PSVersionTable.PSVersion într-un scriptblock și executarea acel cod de pe un computer la distanță, se va reveni la aceeași versiune.

rezumat

În această postare pe blog, ați învățat toate modalitățile de a verifica versiunea PowerShell atât local, cât și de la distanță., Sper că primele câteva metode ți-au dat o idee despre ce modalități să nu verifici versiunea!

vă recomandăm să utilizați întotdeauna $PSVersionTable.PSVersion. Toate celelalte metode pot părea similare cu versiunea motorului PowerShell, dar pot să nu reflecte întotdeauna versiunea motorului.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *